我有来自数据库的特定记录的时区信息,例如-6,这意味着UTC-6。
如何使用这个-6将我的UTC time转换为UTC-6?
我想我必须在c#中使用c#。
并非所有记录的时区信息都相同。
发布于 2017-05-12 18:14:06
您可以使用DateTimeOffset创建带有偏移量的日期。
var dbDate = myRawDbDate.Kind == DateTimeKind.Unknown ? DateTime.SpecifyKind(myRawDbDate, DateTimeKind.Utc): myRawDbDate;
var localDdate = new DateTimeOffset(dbDate, new TimeSpan(0,6,0)).DateTime;发布于 2017-05-12 18:46:38
嗨,你可以使用TimeZoneInfo类。
var timeZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); //UTC-6
var UTC6date = TimeZoneInfo.ConvertTimeFromUtc(Yourdate.ToUniversalTime(), timeZone);要了解更多信息,这里是链接。MSDN:https://msdn.microsoft.com/en-us/library/bb382835(v=vs.110).aspx
查看UTC-6:00等所有时区。
使用TimeZoneInfo.GetSystemTimeZones()方法。
样本代码:
var timeZonList = TimeZoneInfo.GetSystemTimeZones();
foreach (var item in timeZonList)
{
Console.WriteLine(item);
}
TimeZoneInfo.ConvertTimeFromUtc(date converted to universal time, "Timezone to convert your date").希望这能有所帮助。
https://stackoverflow.com/questions/43943870
复制相似问题