0

在过去,我实现了 C# 库,给定本地 DateTime 和 lat/lon,允许确定 timezone 和 offset

我做了以下事情:

  • 从 efele.net/maps/tz 下载 shapefile
  • 将它们导入 SQL Server
  • 用它们从纬度/经度获取 tzid

Noda Time C# 库用于获取有关时区、偏移量和 DST 的所有必要信息。它返回:

  • 以分钟为单位的偏移量
  • UTC 日期时间
  • 奥尔森/IANA 时区名称
  • Windows 时区名称
  • 布尔值夏令时

现在我需要在 NodeJs + PostgreSQL 中重现这个库。建议的做法是:

  • 将http://efele.net/maps/tz shapefile导入PostgreSQL
  • 在 NodeJs 中使用 Moment TimeZone 库,类似于我在 C# 中使用 Noda Time 的方式

是否有已知的陷阱和困难?

4

1 回答 1

1

正如您所说,您需要一些实际的 shapefile 来按地理坐标映射所有时区

您可以使用像geo-tz本机支持moment-timezone库这样的模块。或者更轻量级的,例如tz-lookup.

于 2016-07-29T15:24:46.227 回答