Я изо всех сил пытаюсь получить начальную и конечную даты в формате UNIX, используя библиотеку Moment.
Я пробовал следующее:
console.log(moment().startOf('day').format()); // works correctly - 2020-04-15T00:00:00+02:00
console.log(moment().startOf('day').format('X')); // not what I need - 1586901600 = 04/14/2020 @ 10:00pm (UTC) (so minus 2h for the timezone)
Так что просто сделать уверен, что я отправляю правильное время, которое я сделал:
console.log(moment.tz("2020-04-15T00:00" , "Europe/Warsaw").unix()); // again not what I need - 1586901600 = 04/14/2020 @ 10:00pm (UTC) (so minus 2h for the timezone)
console.log(moment().startOf('day').utcOffset(moment().tz(process.env.TIMEZONE).startOf('day').format('x')).format('X')) // again not what I need - 1586901600 = 04/14/2020 @ 10:00pm (UTC) (even with UTC offset)
Я прочитал, что вы на самом деле не можете сместить или часовой пояс UNIX отметка времени, что это везде одинаково. Хорошо со мной, однако, что было бы «элегантным способом» автоматического вычитания "Europe/Warsaw"
из отметки времени UNIX. Скажем, например, что у меня установлен часовой пояс в файле конфигурации, и я хочу, чтобы JS обнаружил смещение на основе часового пояса и правильно вычел его из отметки времени UNIX.
Любая помощь очень ценится.