我有一个字符串长这样:“9/1/2009”。我想将其转换为DateTime对象(使用C#)。
这个方法可以实现:
DateTime.Parse("9/1/2009", new CultureInfo("en-US"));
但我不明白为什么这个不起作用:
DateTime.ParseExact("9/1/2009", "M/d/yyyy", null);
日期中没有单词(如“September”),我知道具体的格式,因此我宁愿使用ParseExact方法(我不明白为什么需要CultureInfo)。但是我一直收到可怕的“String was not recognized as a valid DateTime”异常。
谢谢
稍作跟进。以下是三种可行的方法:
DateTime.ParseExact("9/1/2009", "M'/'d'/'yyyy", null);
DateTime.ParseExact("9/1/2009", "M/d/yyyy", CultureInfo.InvariantCulture);
DateTime.Parse("9/1/2009", new CultureInfo("en-US"));
以下是三个不起作用的示例:
DateTime.ParseExact("9/1/2009", "M/d/yyyy", CultureInfo.CurrentCulture);
DateTime.ParseExact("9/1/2009", "M/d/yyyy", new CultureInfo("en-US"));
DateTime.ParseExact("9/1/2009", "M/d/yyyy", null);
所以,Parse() 使用 "en-US" 是可以的,但是 ParseExact 不行...这是否出乎意料?