Учитывая локальные DateTime и lat/lon, как определить часовой пояс и смещение в NodeJs?
В прошлом я реализовал библиотеку С#, которая давала локальные DateTime и lat/lon, позволяла определять часовой пояс и смещение.
Я сделал следующее:
- загруженные шейп файлы из efele.net/maps/tz
- импортировал их в SQL Server
- использовали их для получения tzid из lat/lon
Noda Time Библиотека С# использовалась для получения всей необходимой информации о часовом поясе, смещении и DST.
Он возвращает:
- Смещение в минутах
- UTC DateTime
- Олсон /IANA Название часового пояса
- Имя часового пояса Windows
- bool IsDST
Теперь мне нужно воспроизвести эту библиотеку в NodeJs + PostgreSQL. Предлагаемый способ сделать это:
- Импорт http://efele.net/maps/tz shapefiles в PostgreSQL
- Использование библиотеки Moment TimeZone в NodeJs, подобно тому, как я использовал Noda Time в С#
Известны ли подводные камни, трудности?
Ответы
Ответ 1
Как вы сказали, вам нужен какой-то актуализированный шейп файл, который отображает все часовые пояса по геоколям.
Вы можете использовать модуль, например geo-tz
, который поддерживает moment-timezone
библиотеку. Или более легкий, например tz-lookup
.