【发布时间】:2012-01-11 14:25:27
【问题描述】:
我在现有实现中有以下代码行
DateTime.TryParseExact(
"15/11/2021 00:00:00",
"dd/MM/yyyy HH:mm:ss",
null,
DateTimeStyles.None,
out maturityDate);
返回false,表示无法解析传递的字符串。这对我来说真的很令人惊讶,因为这里的模式似乎是准确的。根据 MSDN null 第三个参数中的值意味着将使用当前的文化信息(我假设它是Thread.CurrentThread.CurrentCulture)。
监视窗口中的Thread.CurrentThread.CurrentCulture 是en-US,但文化信息的实例后来在代码中的某处被更改(日期时间格式化程序或其他东西)。
当我通过CultureInfo.InvariantCulture 或new CultureInfo("en-US") 时,一切正常。
当null 被传递时,谁能在这里说出导致TryParseExact 失败的原因?类似的问题没有给我任何线索。
【问题讨论】:
-
你能用
DateTime.TryParse(string, out DateTime)吗?
标签: c# .net datetime-format datetime-parsing