DateTimeFormatInfo.GetAllDateTimePatterns()
方法在我的机器上返回(tr-TR
文化)29 格式,但这些都不支持d/M/yyyy
日期格式,这就是你得到FormatException
.
但是在我的文化DateSeparator
中.
,我不能完全解决这个问题,CultureInfo.CurrentCulture
但是当我使用埃及文化信息(它写在你的个人资料上)时,CultureInfo.GetCultureInfo("ar-EG")
这段代码可以正常工作;
CultureInfo provider = CultureInfo.GetCultureInfo("ar-EG");
string[] format = provider.DateTimeFormat.GetAllDateTimePatterns();
DateTime d = DateTime.ParseExact("13/02/2013", format, provider, DateTimeStyles.None);
不幸的是,您的所有日期时间模式不支持d/M/yyyy
格式。

不幸的是,将此字符串更改为13/02/2013
并不能解决此问题,因为正如我之前所说,我的所有格式(在tr-TR
文化中)也不支持dd/MM/yyyy
格式。
我的谦虚建议在这里,列出您所有的日期时间模式,并手动检查您的字符串是否被这种日期时间模式识别格式,例如;
string[] format = provider.DateTimeFormat.GetAllDateTimePatterns();
foreach (var f in format)
{
///
}
