我目前有一个时间报告项目,您可以在该项目中输入该日期的日期和报告时间(所有日期都显示并以瑞典格式发送回后端等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
,因为这是我的计算机所设置的内容。
答案 0 :(得分:8)
您可以像这样指定瑞典文化:
DateTime reportDate;
if (!DateTime.TryParse(result,
System.Globalization.CultureInfo.GetCultureInfo("sv-SE"),
System.Globalization.DateTimeStyles.None, out reportDate))
{
ModelState.AddModelError("Date", "Felaktikt datum");
}
答案 1 :(得分:3)
DateTime.TryParse有一个额外的2个参数,第二个是IFormatProvider,你可以指定你希望它代表哪种文化。在你的情况下,它是瑞典的sv-SE
。
DateTime.TryParse(
result,
new CultureInfo("sv-SE"),
DateTimeStyles.None,
out reportDate
);
答案 2 :(得分:1)
您可以尝试使用TryParse方法的第二个重载
DateTime.TryParse(result, CultureInfo.CreateSpecificCulture("sv-SE"), DateTimeStyles.None, out reportDate )