我目前有一个时间报告项目,您输入日期和该日期的报告时间,(所有日期都显示并以瑞典语格式发送回后端等yy-mm-dd
)但是,如果我的计算机上有另一个文化信息,如dd-mm-yyyy
,它将解析错误的日期,它将无法工作。
这是我的代码
DateTime reportDate;
if (!DateTime.TryParse(result, out reportDate))
{
ModelState.AddModelError("Date", "Felaktikt datum");
}
这将取我的yy-mm-dd
并将其解析为dd-mm-yyyy
,因为这是我的计算机设置的。
您可以这样指定瑞典文化:
DateTime reportDate;
if (!DateTime.TryParse(result,
System.Globalization.CultureInfo.GetCultureInfo("sv-SE"),
System.Globalization.DateTimeStyles.None, out reportDate))
{
ModelState.AddModelError("Date", "Felaktikt datum");
}
DateTime。TryParse有额外的2个参数,第二个是IFormatProvider,你可以指定你想要它代表哪个文化。在你的例子中,它是sv-SE
,即瑞典。
DateTime.TryParse(
result,
new CultureInfo("sv-SE"),
DateTimeStyles.None,
out reportDate
);
你可以尝试第二次重载TryParse方法
DateTime.TryParse(result, CultureInfo.CreateSpecificCulture("sv-SE"), DateTimeStyles.None, out reportDate )