Я хочу рассчитать относительное время к времени UTC.Мое местное время +2.
Я пробовал много комбинаций ... Например,
const endDate = new Date("08 Jun 2018") // tomorrow's date, I am expecting the time is 00:00:00
const utcDateTime = new Date(moment.utc().format());
const format = 'YYYY-MM-DD HH:mm:ss';
console.log(moment(endDate).fromNow()) // example for Poland(+2) it is 12, but I want to UTC(0), so it is should be 14
console.log(moment(endDate).from(utcDateTime)) // the same
console.log(moment(endDate.toUTCString()).from(utcDateTime)) // the same
console.log(moment(moment(endDate).utc().format(format), format).fromNow()) // I do not why, but it is 10, not 14
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js
"></script>
И каждый раз, когда я получаю относительное время, которое соответствует моему местному времени.UTC должно быть на 2 часа больше.
Я не знаю, как мне это сделать ...
Кто-нибудь может мне помочь?
Спасибо!
РЕДАКТИРОВАТЬ
Основываясь на предложении @ 31piy, я пробовал что-то вроде этого.
const endDate = new Date("08 Jun 2018") // tomorrow's date, I am expecting the time is 00:00:00
const format = 'YYYY-MM-DD HH:mm:ss';
console.log(moment(endDate).from(moment(moment.utc().format(format), format)))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js
"></script>
И это работает для меня, но ... Как я могу сделать это более ясно?Возможно ли это?
EDIT2
Это была моя ошибка ... Я передавал дату ("08 июня 2018"), которая была в часовом поясе UTC, конструктору Date, но я сделалне указывайте, что это UTC - поэтому на самом деле endDate должен быть равен "08 June 2018 02:00:00"
, а не "08 Jun 2018 00:00:00"
.Я исправил это и очень ясно moment(endDate).fromNow(true)
работает для меня.
Спасибо, что помогли мне с этим!