c# – DateTime字符串解析
发布时间:2020-12-15 03:42:30 所属栏目:百科 来源:网络整理
导读:我已经为解析ascii文件做了一个通用的解析器. 当我想解析日期时,我使用DateTime对象中的ParseExact函数来解析,但是我遇到了年份的问题. 要解析的文本是“090812”,其中parseExact字符串为“yyMMdd”. 我希望得到一个DateTime对象说“12 / 8-2009”,但我得到
我已经为解析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”解析. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |