我已经为解析ascii文件做了一个通用的解析器.当我想解析日期时,我使用DateTime对象中的ParseExact函数来解析,但是我遇到了年份的问题.
要解析的文本是"090812",其中parseExact字符串为"yyMMdd".
我希望得到一个DateTime对象说"12/8-2009",但我得到"12/8-1909".我知道,我可以通过之后解析它来制作一个丑陋的解决方案,从而修改年份..
有人知道解决这个问题的聪明方法吗?
提前致谢..
索伦
可能重复:
DateTime.TryParse世纪控件C#
我需要TryParse一个字符串,如下所示:"01/01/99"到DateTime对象,我正在使用这样的东西:
DateTime outDate;
if (DateTime.TryParseExact("01/01/99", "dd/MM/yy", null, System.Globalization.DateTimeStyles.None, out outDate))
{
//Do stuff here
}
Run Code Online (Sandbox Code Playgroud)
当然,这个日期被解析为01/01/1999,这不是我想要的 - 我希望它解析为2099.有一个简单的方法来做到这一点吗?遗憾地修改我正在解析的数据包括全年不是一个选择.
我将日期作为字符串输入,格式为MM/dd/yy.
我正在尝试将其转换为DateTimeOffset以下方式:
string dateString = "02/11/48";
DateTimeOffset.TryParseExact(
dateString,
"MM/dd/yy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out DateTimeOffset date);
Run Code Online (Sandbox Code Playgroud)
然而,当这个字符串被转换为 时DateTimeOffset,年份被设置为 1948。由于业务逻辑,我知道那里的日期总是有最近的未来年份,所以年份应该是 2048。
有没有办法将字符串转换为DateTimeOffset这种方式,或者在解析后我是否必须在其上添加额外的逻辑?