Я работаю над сценарием, который должен извлечь и сохранить метку времени из базы данных.Временная метка из базы данных извлекается в виде строки в формате UTC Zulu "YYYY-MM-DDTHH: MM: SS.SSSZ".Я хочу сохранить эту метку времени в формате «ГГГГ-ММ-ДДТЧ: ММ: СС.ССС» по местному времени.В настоящее время я пытаюсь сделать это с помощью moment.js, у меня был небольшой успех с ".toISOString ()" и другими методами.
Однако я заметил, что вывод из "moment (timestamp) .format() "не возвращает строку, которую я ожидаю из того, что я до сих пор понимаю о UTC.Вот пример кода, который повторяет мою проблему:
var moment = require('moment');
var timestamp = new Date('2018-05-30T15:01:01.111Z');
console.log(timestamp);
console.log(moment(timestamp).format('YYYY-MM-DDTHH:mm:ss.sss'));
console.log(moment(timestamp).format('YYYY-MM-DDTHH:MM:SS.SSS'));
Это мой вывод:
2018-05-30T15:01:01.111Z
2018-05-30T16:01:01.011
2018-05-30T16:05:11.111
Это мой ожидаемый результат:
2018-05-30T15:01:01.111Z
2018-05-30T16:01:01.111
2018-05-30T16:01:01.111
Почемуизменение регистра «YYYY-MM-DDTHH: mm: ss.sss» на «YYYY-MM-DDTHH: MM: SS.SSS» в .format () вызывает другой вывод?Является ли мой ожидаемый вывод правильным или имеет неправильно понятый момент (временная метка) .format ()?Наконец, есть ли лучший способ достичь ожидаемого результата с учетом обстоятельств?