c# - 是否有任何传递的方法接受 UTC 的时区偏移量并在 C# 中计算时区?

标签 c# asp.net datetime timezone

我正在调用一项服务,该服务对给定地址进行标准化,并以 UTC 偏移量(例如:-5:00 等)给出结果的时区。

C#中有没有一个函数可以接受UTC的timezoneoffset并计算时区(三个字符,例如CST,EST,PST)?

最佳答案

没有。这在任何语言中都是不可能的请求,因为:

  1. 许多不同的时区共享相同的时差。

  2. 时区缩写没有标准。有很多重叠和歧义。例如,“CST”至少有 5 种不同的含义,我知道。

  3. 即使您将自己限制在美国,也无法可靠地区分抵消。例如,-5 可能是 EST,也可能是 CDT。

    每年甚至有一个小时 EST 和 CDT 同时生效。例如,这发生在 2014 年 11 月 2 日,美国东部时间凌晨 1:00 和美国中部夏令时间凌晨 1:00 were both in effect simultaneously , 并且都使用了 UTC-5 偏移量。

I am calling a service which standardizes a given address and also gives timezone of the result in UTC offset (ex: -5:00 etc).

除非该服务返回特定日期和时间的偏移量,否则它可能在骗您。也许它正在返回 current 偏移量,但这不是固定的。同一位置可以循环通过多个不同的偏移量。

IMO,此类服务不应尝试解析偏移量,而应返回时区标识符,例如 America/New_York

您可能应该阅读 timezone tag wiki , 你可能也有兴趣 in this post .

关于c# - 是否有任何传递的方法接受 UTC 的时区偏移量并在 C# 中计算时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22159386/

相关文章:

javascript - 从字符串中提取日期

datetime - 如何计算 SSRS 中 2 个 DateTime 字段之间的时差

mysql - 我如何从 24-48 小时前获取 mysql 行?

c# - 过滤 ObservableCollection

c# - 使用 Epplus 的条件格式更改单元格颜色

c# - 具有 C# 背景的编写 JavaScript 的常见错误

asp.net - 无法在我的asp.net MVC 4中嵌入youtube视频

c# - 在excel文档中搜索名字

asp.net - 何时使用 BindAttribute?

c# - 使用 ClaimsPrincipal.Current 获取用户详细信息