我正在调用一个标准化给定地址的服务,并以UTC偏移量给出结果的时区(例如:-5:00等)。
C#中是否有一个函数接受UTC的timezoneoffset并计算时区(CST,EST,PST等三个字符)?
答案 0 :(得分:4)
没有。这是任何语言都不可能的要求,因为:
许多不同的时区共享相同的偏移量。
时区缩写没有标准。有很多重叠和含糊不清。例如,“CST”至少有5种不同的含义,我知道。
即使您将自己限制在美国,也无法可靠地区分偏移量。例如,-5可以是EST,也可以是CDT。
每年甚至有一个小时的EST和CDT在同一时间同时生效。例如,这发生在2014年11月2日美国东部时间上午1:00和CDT {1}上午1:00,并且都使用了UTC-5偏移量。
我正在调用一个标准化给定地址的服务,并以UTC偏移量给出结果的时区(例如:-5:00等)。
除非服务返回特定日期和时间的偏移 ,否则它可能对您撒谎。也许它返回当前偏移量,但这不是固定的。相同的位置可以循环通过多个不同的偏移量。
IMO,此类服务不应尝试解析偏移,而应返回时区标识符,例如America/New_York
。
您应该阅读were both in effect simultaneously,您可能也会感兴趣timezone tag wiki。
答案 1 :(得分:-1)
如果有可能在C#中这样做,我会认为NODA Time会这样做。