2015-03-21 2 views
0

Я загружаю из таблицы базы данных столбец datetime - и значение 2015-03-04 21:00:00 UTC.формат даты добавляет еще один час

Когда я пытаюсь преобразовать этот формат в datetime picker, как это:

date = moment($("#event_start").val()); // date time value from database 
$("#event_start").val(date.format('YYYY-MM-DD HH:mm')); // formatting the date time 
$("#event_start").datetimepicker(); // "run" it as datetimepicker 

Но вместо вывода желания в datetimepicker поле 2015-03-04 21:00, есть 2015-03-04 22:00.

Почему он добавляет еще один час? Как избавиться от него и отобразить правильное время?

Заранее спасибо.

+0

Вы в настоящее время находится в Западной Европе, в стране, которая на летнее время? (редактировать) Или в Центральной Европе? Я подозреваю, что Moment правильно интерпретирует этот «UTC» и что вы сейчас на час раньше UTC. – Pointy

+0

Я в Германии - так да, я. Но есть ли способ «игнорировать» его? Потому что, когда я создаю событие, я устанавливаю его начало, сохраняю его в базе данных, и все так, как должно быть. – user984621

+0

Я не уверен, как вы это сделаете с Моментом. У родного объекта JavaScript Date есть API-интерфейсы для получения частей даты как значений UTC вместо локальных значений, но я не знаю, как вы могли бы указать формат .format() 'Momemt для форматирования даты, как если бы это был UTC. – Pointy

ответ

1

Вы попробовали .utc()?

$("#event_start").val(date.utc().format('YYYY-MM-DD HH:mm')); 

Demo

+0

'.utc()' будет * конвертировать * момент в UTC, после того как он уже был интерпретирован как местное время. Вероятно, это не то, что ищет ОП. –

+0

Я не согласен, похоже, что это именно то, что ищет OP ... и я цитирую его комментарий выше: «Я не знаю, как вы сказали бы формат .format() Momemt для форматирования даты, как если бы он были UTC ». – technophobia

+0

Это сильно зависит от его ответа на вопрос, который я задал в комментариях к ОП. Если строка заканчивается на 'Z' или' UTC' или '+00: 00', тогда ваш код будет работать. Если нет, он должен, вероятно, проанализировать его, используя 'moment.utc (thestring)' вместо 'moment (thestring) .utc()'. –

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