NodeJs Как использовать момент-часовой пояс для преобразования Epoch в Specific TImezone и формат - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть сценарий использования, в котором я хочу преобразовать целочисленное значение Epoch в определенное время часового пояса и в определенный формат,
Кроме того, я хочу преобразовать удобочитаемое время даты в эпоху.

Я пытаюсь использовать moment-tz для преобразования часового пояса.

Я использую определенную метку времени Epoch 1555296000, которая равна -
Monday, April 15, 2019 10:40:00 AM в Куала-Лампур, Малайзия,
Я могу конвертировать 2019-04-15 10:40:00 из Asia/Kuala_Lumpur часового пояса в правильный Unix.

Но я не могу преобразовать 1555296000 в Unix другого часового пояса,
т.е. я хочу преобразовать 1555296000 в эквивалент YYYY-MM-DD hh:mm:ss из Asia/Calcutta часового пояса.

Ниже приведен код, с которым я пытаюсь работать -

var moment = require('moment-timezone');

    console.log("Convert from Asia/Kuala_Lumpur to Unix -> ", moment.tz("2019-04-15 10:40:00","Asia/Kuala_Lumpur").unix());
// Outputs - 1555296000

console.log("Epoch to Specific TimeZone and Format -> ",moment(1555296000).tz("Asia/Calcutta").format('YYYY-MM-DD hh:mm:ss'));
// Outputs - 1970-01-19 05:31:36
// I want  - 2019-04-15 08:10:00

1 Ответ

0 голосов
/ 15 апреля 2019

Попробуйте это

const moment = require("moment-timezone");

console.log(
  moment
    .unix(1555296000)
    .tz("Asia/Calcutta")
    .format("YYYY-MM-DD HH:mm:ss")
);

2019-04-15 08:10:00 - "Азия / Калькутта" is 2019-04-15 10:40:00 - "Азия / Куала_Лумпур"

...