【问题标题】:How to get UTC time offsets from a geolocation如何从地理位置获取 UTC 时间偏移
【发布时间】:2013-12-25 23:56:48
【问题描述】:

我们可以找到一些 UTC 时间偏移列表,显示协调世界时 (UTC) 从最西端 (-12:00) 到最东端 (+14:00) 的小时和分钟差异。

一般来说,我们使用iso8601 format保存日期时间。

但是 - by default - 我们只包括一些国家和地区。 而且不是很准确。例如,UTC+01:00 代表巴黎、罗马、斯德哥尔摩、突尼斯,即使这些城市的经度不完全相同...

我希望能够从地理位置中找到 真正的 UTC 时间偏移,以便根据太阳在天空中的位置获得本地时间。

我的意思是,我不想在位于艾菲尔铁塔附近的48.858844300000001,2.2943506 附近拥有UTC+01:00,例如,我更愿意拥有UTC+01:13

如果我们有 48.352845300000001,40.9943506 这样的地理位置,我们该怎么做才能获得真正的 UTC 时间偏移

感谢您的任何想法。

【问题讨论】:

  • 这有什么用?当地时间并不是这样工作的。你读过the timezone tag wiki吗?您可能还对how to convert a geolocation to the proper IANA time zone 感兴趣。
  • 例如,我想要偏移量为 8 分钟的偏移量。比时区更精确。
  • 当然,只要您了解世界上任何地方的人们实际上都不会这样设置时钟。至少在现代不会。
  • 这很酷,但这个想法并不能很好地映射到 UTC 偏移的想法。特别是,由于Analemma,偏移量全年在一个位置发生变化。我想你会想要使用像Local Mean Time 这样的东西,它对于给定的经度是固定的。
  • 您应该能够相当容易地将本地平均时间作为与经度(相对于格林威治)的 UTC 偏移量得出。它是:localOffset = (location.longitude * 24.0 / 360.0)。我认为 :-) 您可能需要更改标志!

标签: datetime geolocation utc iso8601 datetimeoffset


【解决方案1】:

我从未听说过“真正的 UTC”这个词,但我明白你在问什么。您可以计算用户位置与最近的 UTC 经线之间的经度距离,然后使用它来确定您的小数小时偏移量。

【讨论】:

  • 这也是我的做法。但是,我们应该使用 -12 到 +12 的范围(因为一天有 24 小时)还是更复杂的 -12 到 +14 的范围?我个人会选择第一种方式。你怎么看?
  • 每小时的经度相差 15 度 (360/24)。 0 度经度(本初子午线)为 UTC+00:00。东经 15 度为 UTC+01:00,西经 15 度为 UTC-01:00。我用谷歌搜索了德国柏林的坐标质心。经度为东经 13.3833 度。这将计算为 UTC+00:54。我相信您所问的可能是所谓的太阳时。
猜你喜欢
  • 2013-08-28
  • 2015-06-16
  • 2019-04-23
  • 2023-01-16
  • 2010-09-26
  • 2021-06-11
  • 2015-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多