我正在尝试读取一种非常老旧格式的文件。其中日期格式被指定为yymmdd格式,其中[00,59]范围内的2位数年份被认为是21世纪的年份,[60,99]范围内的年份被认为是20世纪的年份,因此59代表2059年,60代表1960年。
我该如何在C#中将其解析为DateTime?我已经尝试过以下方法:
我该如何在C#中将其解析为DateTime?我已经尝试过以下方法:
string str = ReadDateFromFile();
DateTime dt;
DateTime.TryParseExact(str, "yyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
但默认的2位数年份规则将范围在[00, 29]内的值视为21世纪,而将范围在[30, 99]内的值视为20世纪。
有没有办法修改这种行为以满足我的需求,或者有没有其他技术可以使用?
TryParseExact
之前,您可以根据自己决定的规则将字符串从2位数年份更改为4位数年份。 - John Hascall