我正在编写一个MVC 5互联网应用程序,并希望将DateTime
转换为LocalTime
(我有语言)。这是一个Azure
网站。
这是我的代码:
DateTime dateTimeUtcNow = DateTime.UtcNow;
DateTime convertedDate = DateTime.SpecifyKind(dateTimeUtcNow, DateTimeKind.Utc);
DateTime dateTimeLocalTime = convertedDate.ToLocalTime();
return dateTimeLocalTime.ToString(new CultureInfo("en-NZ"));
上面代码的输出与我在没有指定语言区域性的UTC
中返回DateTime
的输出完全相同。
如果我有文化语言,如何在UTC
中转换本地时间的DateTime
?
提前谢谢。
您可以使用toString
函数的第二个参数,并使用所需的任何语言/区域性。。。
根据MSDN,您可以使用"d"
格式而不是ToShortDateString
。。。
所以基本上像这样的东西会以NewZ ealand English:的形式回归
CultureInfo enAU = new CultureInfo("en-NZ");
dt.ToString("d", enAU);
你可以修改你的方法,将语言和文化作为参数
public static string ConvertDateTimeToDate(string dateTimeString, String langCulture) {
CultureInfo culture = new CultureInfo(langCulture);
DateTime dt = DateTime.MinValue;
if (DateTime.TryParse(dateTimeString, out dt))
{
return dt.ToString("d",culture);
}
return dateTimeString;
}
如果您需要根据特定的语言/区域性来解析字符串,您可能还需要查看重载的tryParse
方法。。。