如何根据特定时区显示日期时间格式。
24-02-2018 07:30:00
表示如果一个时区日期读作DD-MM-YY而另一个时区日期读作MM-DD-YY那么如何按时区显示日期
我只有时区名称,我想发送电子邮件,内容很少。在该电子邮件中,一个字段是“上次更新时间”'因此,根据时区,我想以特定格式设置该字段,所以简而言之,我需要从TimeZone获取文化代码,是否可能?
答案 0 :(得分:0)
您需要在web.config中设置culture
以设置特定的日期格式。
<globalization uiCulture="es" culture="es-MX" />
您可以找到所有cultureCodes here
如果您在特定条件下需要,可以这样做,
var usCulture = "en-US";
var dateValue = DateTime.Parse(dateString, new CultureInfo(usCulture, false));
答案 1 :(得分:0)
始终在一个时区中保存时间可能是数据库中的UTC。 每次从您的方法返回时间时,转换为客户端UI文化并显示相同的内容。
TimeZoneInfo targetTimeZone = TimeZoneInfo.FindSystemTimeZoneById("TimeZoneName");
DateTime utcTime = DateTime.Now();// your datetime object
TimeZoneInfo.ConvertTimeFromUtc(utc, targetTimeZone);
答案 2 :(得分:0)
试试这个
string datetime = "24-02-2018 07:30:00";
DateTime databaseUtcTime = DateTime.ParseExact(datetime,"dd-MM-yyyy HH:mm:ss",null);
Console.WriteLine("System Date : {0}", databaseUtcTime);
var japaneseTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
var japaneseTime = TimeZoneInfo.ConvertTimeFromUtc(databaseUtcTime, japaneseTimeZone);
Console.WriteLine("Japan Date : {0}", japaneseTime);
由于您具有时区名称,因此您可以使用上述解决方案处理多个时区。我希望这能帮到您。如果您有任何问题,请告诉我。