- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我用
foreach (TimeZoneInfo info in TimeZoneInfo.GetSystemTimeZones())
{
if (info.ToString()...
获取时区字符串列表,然后在某些系统上返回前缀为 (GMT) 的字符串,在其他系统上返回前缀为 (UTC) 的字符串。对此不是 100% 确定,但似乎 Vista 列出 (GMT) 值、Windows 7 列出 (UTC) 值和 Windows Server 列表 (GMT)
这是怎么回事,我可以让 Windows 7 列出 Vista GMT 值吗?我想要一个适用于所有 Windows 机器的一致列表。
仅供引用 在同一系统中,我还使用以下行来填充 MVC 下拉列表:
<%: Html.DropDownListFor(model => model.Timezone,new SelectList(TimeZoneInfo.GetSystemTimeZones())) %>
谢谢
最佳答案
您正在使用 TimeZoneInfo.ToString()
,它使用 TimeZoneInfo.DisplayName
。这只是 系统相关 - 它是同一个列表(据我所知),如果您通过时钟编辑系统时区,则会显示该列表。 (我刚刚查看了 Vista 和 Windows 7 机器,看到了与您刚才描述的相同的名称。)
如果您正在寻找一致的名称,请改用 Id
属性。如果您想要从 ID 到一些已知的显示名称的一致映射,您需要自己进行设置(例如,通过所有系统与之通信的单个数据库)。您不应该向用户显示 Id
属性本身,因为它很容易混淆 - 它几乎总是标准时间 ID,这会让人们感到困惑当他们处于夏令时时。
如果你想把船推出来,Unicode CLDR有关于如何向用户显示时区的信息(参见 core/common/bcp47/timezone.xml
)但是它使用了 zoneinfo ID,因此您需要将它们映射回 Windows 系统ID(这是可行的;该信息也在 CLDR 中,在 core/common/supplemental/windowsZones.xml
中)。
关于c# - TimeZoneInfo.GetSystemTimeZones() 在不同的计算机上返回不一致的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9094844/
我们的服务器无法正确处理从 UTC 转换为本地时间的 C# DateTime 实例的夏令时。我们在英国,因此我们的服务器设置为“(UTC+00:00) 都柏林、爱丁堡、里斯本、伦敦”区域。 症状: D
我一直在使用 DateTime 和 TimeZoneInfo 类,我使用以下代码遇到了一个有趣的结果: var dstStart = new DateTime(2013, 3, 10, 2, 0, 0
我有一个将本地时间转换为 UTC 并将其存储在数据库中的应用程序。我在特定日期测试转换时遇到了这个问题 - 2015 年 11 月 1 日(夏令时结束的日期(时钟在到达凌晨 2 点时回到凌晨 1 点)
我希望 TimeZoneInfo.GetSystemTimeZones().Single(x => x.Id == anId) 总是给出相同的结果 TimeZoneInfo.FindSystemTim
任何人都可以帮助理解这一点。 Microsoft 3.5 中的 TimeZoneInfo 类告诉我以下 GMT 日期不是东部时区的夏令时,但它是。 // Get Eastern Timezone Ti
信息:使用.NET 4.0和VS 2012 嗨, 我即将对我自己的类进行单元测试,该类具有 TimeZoneInfo 类型的成员。但是,当我尝试在测试中考虑该成员时,它总是失败。 以下是一个简化的示例
TimeZoneInfo.StandardName 仅返回英文值,有没有办法根据设定的文化获取翻译后的名称? 谢谢。 最佳答案 TimeZoneInfo 从注册表中提取... HKEY_LOCAL_M
TimeZoneInfo.ConvertTimeFromUtc方法从注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
我使用 TimeZoneInfo.ConvertTime 方法将源时区转换为目标时区。这对我来说很好。我想知道,如果 Destination TimeZone 的 Daylight Savings 已
我知道我们可以使用 id 查找时区信息 TimeZoneInfo timeZone2 = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard T
我在使用 TimeZoneInfo 时遇到了问题。这可能只是理解 Microsoft 对 TimeZoneInfo 的想法的问题。 问题是如果我运行这些代码行: var tzi = TimeZoneI
我想弄清楚 System.TimeZoneInfo 是本地用户还是系统范围的设置?我一直在修改我的本地时区作为我登录的用户,但是在后台运行的服务作为记录时区的系统似乎不断记录旧时区。如果 TimeZo
我正在尝试在 C# 应用程序中控制夏令时,而不是让 Windows 执行此操作。 (我不会在这里讨论原因)。 所以我在日期和时间设置(Windows7)中删除了复选标记“为夏令时自动调整时钟” 我写了
我的 UI 层中有一些代码,应该采用 UTC 格式的 DateTime,并将其转换为本地日期时间: 在我的数据层中,我只是这样做: private DateTime ConvertToLocal(Da
我正在尝试使用 EWS API 从我正在编写的控制台程序访问 Exchange 服务器。我已经指定了我要连接的交换服务器的类型,但是当我尝试执行我拥有的代码时,它给了我 Error 1 The typ
是否有针对中欧的通用 TimeZoneInfo 将 CET 和 CEST 合二为一? 我有一个正在执行以下操作的应用: TimeZoneInfo tzi = TimeZoneInfo.FindSyst
我希望实现一个带有如下签名的函数: bool IsTimeZoneValid(string countryCode, DateTime localTime); 目的是确定该国家/地区是否具有本地时间有
我在序列化 TimeZoneInfo 对象时遇到了一些问题。我试图在 WCF 服务的数据协定中使用 TimeZoneInfo 变量,但序列化失败。所以我写了这段代码来测试序列化。这是我所做的:
我从 JavaScript 向 Controller 传递了用户客户端日期时间与 UTC 之间的偏移分钟数,使用 Date 对象上的 getTimezoneOffset 方法。现在我在服务器端有了这些
使用 .net 4.0 在 win 7 上运行 asp.net mvc 2 我有一个从表单接收 2 个 DateTime 对象的 Controller 操作方法。表单上的 UI 使用 jQueryUi
我是一名优秀的程序员,十分优秀!