首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用数据库中的时区信息将UTC时间转换为本地时间

使用数据库中的时区信息将UTC时间转换为本地时间
EN

Stack Overflow用户
提问于 2017-05-12 17:57:52
回答 2查看 317关注 0票数 0

我有来自数据库的特定记录的时区信息,例如-6,这意味着UTC-6

如何使用这个-6将我的UTC time转换为UTC-6

我想我必须在c#中使用c#。

并非所有记录的时区信息都相同。

EN

回答 2

Stack Overflow用户

发布于 2017-05-12 18:14:06

您可以使用DateTimeOffset创建带有偏移量的日期。

代码语言:javascript
复制
var dbDate = myRawDbDate.Kind == DateTimeKind.Unknown ? DateTime.SpecifyKind(myRawDbDate, DateTimeKind.Utc): myRawDbDate;
var localDdate = new DateTimeOffset(dbDate, new TimeSpan(0,6,0)).DateTime;
票数 0
EN

Stack Overflow用户

发布于 2017-05-12 18:46:38

嗨,你可以使用TimeZoneInfo类。

代码语言:javascript
复制
 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()方法。

样本代码:

代码语言:javascript
复制
var timeZonList = TimeZoneInfo.GetSystemTimeZones();

    foreach (var item in timeZonList)
    {
        Console.WriteLine(item);
    }

TimeZoneInfo.ConvertTimeFromUtc(date converted to universal time, "Timezone to convert your date").

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43943870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档