Moment JS: преобразование даты часового пояса в местный часовой пояс

Я использую средство выбора даты

Я получаю значение из базы данных как 2020-05-06T00: 00: 00.000Z.

Присваивая это значение DatePicker, я хочу, чтобы этот формат

Ср, 6 мая 2020 г., 00:00:00 GMT + 0530 (индийское стандартное время)

Примечание. GMT + 530 (Стандартное индийское время) может отличаться в зависимости от системного времени.

Как я могу это сделать ?

Я использовал библиотеку моментов.

но он дает мне такой результат: 2020-05-06 05:30:00

Любая помощь была бы замечательной.

Спасибо.

 let date = '2020-05-06T00:00:00.000Z'
 
 let dateValue = moment(date).local().format('YYYY-MM-DD HH:mm:ss')
 
 console.log("Date : " , dateValue)


person Xperia Reno    schedule 21.05.2020    source источник


Ответы (3)


Попробуйте использовать функцию toDate () библиотеки моментов, поскольку она извлекает часовой пояс из вашей локальной системы.

let dateValue = moment(date).local().toDate();
person Paridhi Jain    schedule 21.05.2020

Пользовательский формат

Ср 6 мая 2020 00:00:00 GMT + 0530

'ddd MMM D YYYY HH:MM:SS [GMT]ZZ'

ddd = 3 символа дня недели

MMM = 3 символа месяца

D = день месяца, состоящий из 1 или 2 цифр

ГГГГ = 4-значный год

ЧЧ: ММ: СС не требует объяснений

[GMT] экранированная строка внутри строки формата

ZZ = местный часовой пояс по смещению от зулусского времени

person Kasey Chang    schedule 21.05.2020

Это может быть достигнуто путем установки флага UTC для объекта момента и последующего преобразования в локализованный объект момента с последующим форматированием по мере необходимости.

Для вашего ввода

var test = moment.utc("2020-05-06T00:00:00.000Z");
var localDate = moment(test).local();
console.log(localDate.format("ddd MMM D YYYY HH:MM:SS [GMT]Z"));
<script src="https://momentjs.com/downloads/moment.js"></script>

person VJR08    schedule 21.05.2020