繁体   English   中英

如何从TimeZoneID中找到UTC偏移量?

[英]how do I find the UTC offset from the TimeZoneID?

我们使用以下内置的.net方法构建了一个时区下拉列表:“

foreach (TimeZoneInfo timeZone in timeZones)
        {
            SelectListItem li = new SelectListItem();
            li.Value = timeZone.Id;
            li.Text = timeZone.DisplayName;
            if (website.TimeZone == timeZone.Id)
            {
                li.Selected = true;
            }
            adminWebsiteVM.TimeZoneList.Add(li);        
        }

然后我们在数据库中存储timeZone.Id(这是一个字符串)。 我选择存储ID而不是偏移,因为偏移随夏令时变化。

我的问题如何在以后使用timeZone.Id属性获取UTC偏移量? 我看不到任何允许这样的事情的方法。

此方法的示例代码将执行您想要的所有操作。 我可能会用一些简短的例子进行编辑,但我认为msdn就足够了。

基本上你可以使用:

 TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
 TimeSpan offset = timeZone.GetUtcOffset(DateTime time);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM