为什么这行代码 有时 会抛出 System.FormatException
?
DateTime d = DateTime.ParseExact("01.07.2014", "dd/MM/yyyy", CultureInfo.InvariantCulture);
最佳答案
因为您的字符串和格式不匹配。
来自 documentation ;
改用 dd.MM.yyyy
格式。
DateTime d = DateTime.ParseExact("01.07.2014",
"dd.MM.yyyy",
CultureInfo.InvariantCulture);
这里是
demonstration
。请记住,
"/"
custom format specifier 在自定义日期和时间格式中具有特殊含义。它的意思是;用当前的文化日期分隔符替换我。在您的个人资料中,它说您来自阿塞拜疆。这意味着您的
CurrentCulture
可能是 az-Cyrl-AZ
(西里尔文,阿塞拜疆)或 az-Latn-AZ
(拉丁文,阿塞拜疆)。实际上,在这种情况下使用哪种文化并不重要,因为两种文化都将
.
作为 DateSeparator
property 。这意味着您的原始代码也适用于您的
CurrentCulture
。DateTime d = DateTime.ParseExact("01.07.2014",
"dd/MM/yyyy",
CultureInfo.CurrentCulture);
// or you can use null
有关更多信息,请查看;
关于c# - DateTime.ParseExact 抛出 System.FormatException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24823219/