c# – DateTime字符串解析

c# – DateTime字符串解析,第1张

概述我已经为解析ascii文件做了一个通用的解析器. 当我想解析日期时,我使用DateTime对象中的ParseExact函数来解析,但是我遇到了年份的问题. 要解析的文本是“090812”,其中parseExact字符串为“yyMMdd”. 我希望得到一个DateTime对象说“12 / 8-2009”,但我得到“12 / 8-1909”. 我知道,我可以通过以后解析它来制作一个丑陋的解决方案,从而 我已经为解析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 necessarydtfi.Calendar = (Calendar) dtfi.Calendar.Clone();dtfi.Calendar.TwoDigitYearMax = 1910;

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

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

总结

以上是内存溢出为你收集整理的c# – DateTime字符串解析全部内容,希望文章能够帮你解决c# – DateTime字符串解析所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1260391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存