Pri*_*hiv 1 c# datetime date cultureinfo winforms
我在我的项目中使用以下代码,但“DateTime.TryParse”在不同的机器上给出不同的结果。IsDate 方法在我的机器上返回“False”,在另一台机器上返回“True”。
if(IsDate("30/03/2020 04:00",out dt))
{
}
private bool IsDate(object o, out DateTime date)
{
return DateTime.TryParse(o.ToString(), CultureInfo.CurrentCulture, DateTimeStyles.None, out date);
}
Run Code Online (Sandbox Code Playgroud)
我还按照下面的文章尝试了“DateTime.TryParseExact”,但没有用。 https://github.com/dotnet/runtime/issues/25120
请向我提出任何想法以使其正常工作。
谢谢。
替换CultureInfo.CurrentCulture为固定文化,例如CultureInfo.InvariantCulture:
private bool IsDate(object o, out DateTime date)
{
return DateTime.TryParse(o.ToString(), System.Globalization.CultureInfo.InvariantCulture,
DateTimeStyles.None, out date);
}
Run Code Online (Sandbox Code Playgroud)
CultureInfo.CurrentCulture是每线程设置/属性,默认为计算机上的用户设置。