2016-12-16 6 views
1

Я хочу рассчитать разницу в часах между двумя разными часовыми поясами, используя библиотеку moment.js.Moment js diff с разным часовым поясом

Я попытался с помощью diff функцию, представленных в библиотеке, но она не обеспечивает правильные ответы, я попробовал:

moment('2016-12-18 6:00:00', 'YYYY-MM-DD HH:mm:ss') 
    .diff(moment('2016-12-18 6:00:00', 'YYYY-MM-DD HH:mm:ss').utcOffset('+09:30'), 'hours') 

Я в UTC+5:30 и moment(string, string) конструктор возвращает время в моей текущей временной зоне. И я ожидал, что ответ будет 4, а не 0. Есть ли какая-либо другая функция, предоставляемая библиотекой момента, чтобы получить разницу между часовыми поясами?

+0

Возможно, вам понадобится [момент-часовой пояс] (http://momentjs.com/timezone/). Дополнительную информацию см. В документах ['utcOffset'] (http://momentjs.com/docs/#/manipulating/utc-offset/). – VincenzoC

ответ

2

До тех пор, пока вы используете только смещения фиксированной часовой пояс, ваш приведенный выше код будет работать, если вы сделаете одну настройку:

.utcOffset('+09:30', true) 

Второй параметр указывает функцию, чтобы сохранить значение даты и времени, в тот момент уже когда устанавливается смещение. По умолчанию (false) будет сдвинуть дату и время со своего текущего смещения (ваше местное время) на предоставленное смещение.

Если вы не работаете с фиксированными смещениями, вам действительно понадобится использовать добавление момента времени.

 Смежные вопросы

  • Нет связанных вопросов^_^