我目前有一个时间报告项目,您输入日期并报告该日期的时间,(显示所有日期并以瑞典格式发送回后端等yy-mm-dd)但是如果我在我的计算机上有其他文化信息,dd-mm-yyyy就会解析错误的日期,它将无法正常工作.
这是我的代码
DateTime reportDate;
if (!DateTime.TryParse(result, out reportDate))
{
ModelState.AddModelError("Date", "Felaktikt datum");
}
Run Code Online (Sandbox Code Playgroud)
这将采取我的yy-mm-dd解析,dd-mm-yyyy因为这是我的电脑设置.
Ale*_*ren 10
您可以像这样指定瑞典文化:
DateTime reportDate;
if (!DateTime.TryParse(result,
System.Globalization.CultureInfo.GetCultureInfo("sv-SE"),
System.Globalization.DateTimeStyles.None, out reportDate))
{
ModelState.AddModelError("Date", "Felaktikt datum");
}
Run Code Online (Sandbox Code Playgroud)
DateTime.TryParse有一个额外的 2 个参数,第二个是IFormatProvider,您可以指定您希望它代表哪种文化。在你的情况下,sv-SE它是瑞典。
DateTime.TryParse(
result,
new CultureInfo("sv-SE"),
DateTimeStyles.None,
out reportDate
);
Run Code Online (Sandbox Code Playgroud)