繁体   English   中英

Windows 7中的DateTime.TryParse()失败

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM