У меня есть объект даты JavaScript, пришедший из API;но когда я использую Момент, чтобы сделать некоторые манипуляции с датой, компонент часового пояса испортился, и итоговая дата теперь использует местное время по Гринвичу:
var d = new Date("2018-09-30T00:00:00+10:00");
var m1 = moment(d).toDate(); // 2018-09-29T14:00:000Z
var m2 = moment.utc(d).toDate(); // 2018-09-29T14:00:000Z
Как мне сохранить информацию о часовом поясе, чтобы при начале добавления дней/ часов и т. д., результирующее значение остается в часовом поясе +10: 00?
Если я посмотрю на объект moment
, созданный, например, в отладчике Firefox, я вижу, что m1
имеет _tzm:600
и _isUTC:false
, тогда как m2
имеет _tzm:600
и _isUTC:true
, но в обоих случаях обернутый _d
равен 2018-09-29T14:00:000Z
, а не 2018-09-30T00:00:00+10:00
, как я надеюсь.
Если я позвоню:
var m3 = moment(d).format(); // 2018-09-03T00:00:00+10:00
тогда все в порядке, но теперь у меня есть string
, а не Date
объект