是否有任何传递的方法接受UTC的timezoneoffset并在C#中计算时区?
我正在调用一个标准化给定地址的服务,并给出UTC偏移结果的时区(例如:-5:00等)。
C#中是否有一个函数接受UTC的timezoneoffset并计算时区(CST,EST,PST等三个字符)?
不,这是任何语言都不可能的要求,因为:
-
许多不同的时区共享相同的偏移量。
-
时区缩写没有标准。 有很多重叠和含糊不清。 例如,“CST”至少有5种不同的含义,我知道。
-
即使您将自己局限于美国,也无法可靠地区分偏移量。 例如,-5可以是EST,也可以是CDT。
每年甚至有一个小时,EST和CDT在同一时间同时生效。 例如,这发生在2014年11月2日,当时美国东部时间凌晨1点和CDT凌晨1点同时生效 ,并且都使用了UTC-5偏移量。
我正在调用一个标准化给定地址的服务,并给出UTC偏移结果的时区(例如:-5:00等)。
除非服务返回特定日期和时间的偏移量,否则它可能对您撒谎。 也许它正在返回当前的偏移,但这不是固定的。 相同的位置可以循环通过多个不同的偏移。
IMO,像这样的服务不应该尝试解决偏移,而应该返回时区标识符,例如America/New_York
。
你应该阅读时区标签wiki ,你也可能对这篇文章感兴趣。
如果有可能在C#中这样做,我会认为NODA Time会这样做。
- WebForms UnobtrusiveValidationMode需要一个用于jquery的ScriptResourceMapping
- 在asp.net Web Api中处理未经身份validation的请求的最佳方法
- Devexpress或Telerik Controls比较
- 如何获取ASP.NET C#中请求的文件的MIME类型?
- entity framework核心:与同一实体的多对多关系
- 如何将Master Page的ScriptManager放入c#(.cs)文件后面的Child页面代码中
- 如何在C#中生成一个随机的10位数字?
- 如何使用Breeze与通用工作单元和存储库?
- 使用itextsharp在PDF中保持相似的图像大小