c# – DateTime字符串解析

我已经为解析ascii文件做了一个通用的解析器.
当我想解析日期时,我使用DateTime对象中的ParseExact函数来解析,但是我遇到了年份的问题.

要解析的文本是“090812”,其中parseExact字符串为“yyMMdd”.

我希望得到一个DateTime对象说“12 / 8-2009”,但我得到“12 / 8-1909”.
我知道,我可以通过以后解析它来制作一个丑陋的解决方案,从而修改年份..

有谁知道解决这个问题的聪明方法

提前致谢..

索伦

解决方法

理论上优雅的方法:更改您用于解析文本的DateTimeFormatInfo使用的Calendar的TwoDigitYearMax属性.例如:
CultureInfo current = CultureInfo.CurrentCulture;
DateTimeFormatInfo dtfi = (DateTimeFormatInfo) current.DateTimeFormat.Clone();
// I'm not *sure* whether this is necessary
dtfi.Calendar = (Calendar) dtfi.Calendar.Clone();
dtfi.Calendar.TwoDigitYearMax = 1910;

然后在调用DateTime.ParseExact时使用dtfi.

实际操作方法:在输入开头添加“20”,并用“yyyyMMdd”解析.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...