[英]DateTime.TryParse() fails in Windows 7
当我们将区域设置更改为意大利语时, DateTime.TryParse
在Windows 7中失败。我甚至尝试了TryParseExact
但没有运气。 有没有人对此有任何想法或遇到过这种情况?
代码是这样的:
string[] formats = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", "M/d/yyyy h:mm", "M/d/yyyy h:mm", "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm", "dd/MM/yyyy HH:mm"};
if (DateTime.TryParseExact(cb.Text, formats, CultureInfo.InVariantCulture, DateTimeStyles.AllowLeadingWhite, out date_and_time))
但它返回false。
要么
甚至试过:
if (DateTime.TryParse(cb.Text, CultureInfo.InvariantCulture, DateTimeStyles.None,out date_and_time) == true)`
cb.Text是一个String,它包含字符串表示形式的DateTime。
尝试使用CreateSpecificCulture方法将Thread Culture设置为Italian Culture
。
请在此处查看文化列表。
您是否尝试过使用中性CultureInfo调用它?
像这样
DateTime parsed;
if(DateTime.TryParse("2010-03-09", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsed))
Console.WriteLine(parsed)
或者对于TryParseExact
DateTime.TryParseExact("2010-03-09", "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsed)
在意大利语中,时间分隔符标记被解析为。 而不是 :
尝试使用单引号转义时间分隔符标记,例如:
"M/d/yyyy h':'mm':'ss tt"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.