他们甚至存在吗? 我非常不习惯向欧洲用户展示“浪漫标准时间”,并试图解释为什么他们的“中欧时间”不能显示为“CET”。 如果我parsing“浪漫标准时间”,并向他们提出对他们毫无意义的“RST”,或者可能被混淆为“俄罗斯标准时间”或其他废话。
有没有办法从Windows中获得普遍接受的缩写? 我需要在北美,南美,欧洲,非洲和亚洲有效的东西。
更新:这是一个彻头彻尾的黑客,但我知道,但它可能会让我90%的案件我关心。 如果你有什么build议,我仍然是耳朵;)
/// <summary> /// Gets the current time zone abbreviation,corrected for Daylight Saving Time (if applicable) /// </summary> /// <param name="timeZoneId">The time zone id.</param> /// <returns></returns> public static string GetTZAbbrev(string timeZoneId) { var timeZoneInfos = TimeZoneInfo.GetSystemTimeZones(); var abbrev = string.Empty; foreach (var timeZoneInfo in timeZoneInfos) { if (timeZoneInfo.Id != timeZoneId) continue; string[] words; if (timeZoneInfo.IsDaylightSavingTime(DateTime.UtcNow)) { words = timeZoneInfo.DaylightName.Split(' '); } else { words = timeZoneInfo.StandardName.Split(' '); } foreach (var word in words) { abbrev += word[0]; } } return abbrev; }
C#CultureInfo.GetCultures返回(几乎)空的列表
在C#中远程设置时区
如何在registry中存储securestring?
学习Windows生态系统的最佳途径是什么?
我如何才能知道给线程的实际时间片?
如何测量文件(硬盘)I / O的特性?
发布版本包含额外的文件,我需要这些?
以编程方式,这个应用程序如何检测到程序已准备好input
在Metro应用程序中使用C#保存用户设置
.NET应用程序在Windows 10上将不同的操作系统版本返回给PowerShell
那么,即使是“普遍接受的缩略语”也不是一个好主意 – 因为它们很模糊。 如果你说“美国东部时间”是指美国东部夏令时,还是澳大利亚东部夏令时?
更普遍接受的技术解决方案是使用Olson(zoneinfo)名称,例如“Europe / London”作为标识符。 如何向用户呈现这些内容是另一回事,但通常我会看到具有特定时区地名的用户界面,以及与UTC的标准偏差(或当前偏差)。 例如,查看Google日历的时区设置。
这实际上是一个国际化(或本地化,我永远不会记得)标识符到用户友好名称的问题,但是你这样做。
你总是可以建立一个人行横道方法并自己转换它们。 你只需要得到每一个列表,然后自己人行横道。 我不知道有什么东西在窗口中有这个给你,但是你不会说很多代码来自己做
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。