Момент JS не экономит время и не возвращает локальный - PullRequest
0 голосов
/ 09 октября 2018

У меня возникли проблемы с функцией записи времени в моем приложении.

Итак, у меня есть кнопка, которая в основном говорит «пуск» и вызывает функцию для сохранения времени, когда кнопка была нажата в обычном режиме.вот так ..

this.startTime = moment().utc();

сейчас Если я console.log (this.startTime), я получаю это ..

Moment {_isAMomentObject: true, _isUTC: true, _pf: {…}, _locale: Locale, _d: 
Tue Oct 09 2018 10:14:01 GMT+1100 (Australian Eastern Daylight Time), …}
_d: Tue Oct 09 2018 10:14:01 GMT+1100 (Australian Eastern Daylight Time) {}
_isAMomentObject: true
_isUTC: true
_isValid: true
...

, поэтому он говорит, что UTC истинно, но время равно 10: 14 Австралийское восточное летнее время, не должно ли оно быть преобразовано в время UTC ??

Теперь, когда я вызываю другую функцию, которая возвращает сохраненное время, я получаю правильное время UTC, но в австралийском восточном летнем времени

let startTime = moment(startTime);

то, что я получил, было возвращено

_a: (7) [2018, 9, 8, 23, 5, 32, 774]
_d: Mon Oct 08 2018 23:05:32 GMT+1100 (Australian Eastern Daylight Time) {}
_f: "YYYY-MM-DDTHH:mm:ss.SSSS"
_i: "2018-10-08T23:05:32.774"
_isAMomentObject: true
_isUTC: [ZoneTask]
_isValid: true
...

Я не уверен, что я делаю неправильно ..

РЕДАКТИРОВАТЬ

если я console.log (moment.utc (). Format ()), я получаю эту строку даты

2018-10-08T23: 54: 23Z

, но если я утешаю.log (moment.utc ()) Я получаю этот объект даты

Moment {_isAMomentObject: true, _isUTC: true, _pf: {…}, _locale: Locale, _d: 
Tue Oct 09 2018 10:56:56 GMT+1100 (Australian Eastern Daylight Time), …}
_d: Tue Oct 09 2018 10:56:56 GMT+1100 (Australian Eastern Daylight Time) {}
_isAMomentObject: true
_isUTC: true
_isValid: true
...

1 Ответ

0 голосов
/ 09 октября 2018

Когда я запускаю Moment 2.22.2 в Node.js, используя:

var startTime = moment.utc()
console.log(startTime);
// Returns moment.utc("2018-10-08T23:36:43.363+00:00")
console.log(moment(startTime));
// Returns moment.utc("2018-10-08T23:36:43.363+00:00")
console.log(moment(startTime).format());
// Returns 2018-10-08T23:45:43Z

Поскольку момент возвращает экземпляр самого себя, вам нужно отформатировать ваши ответы в виде простой строки, используя метод format().

...