2017-01-11 4 views
2

На момент написания данного сообщения мое текущее время: 2017-01-10T19:23:00.000Z , но new Date() дает мне 2017-01-11T00:23:19.521Z на 5 часов больше, чем мой текущий часовой пояс. Это влияет на то, как мои данные хранятся в моем MongoDB. Я знаю, что могу установить время до 5 часов назад, используяновый Date() в неправильный временной интервал

var datetime = new Date(); 
datetime.setHours(datetime.getHours()-5); 

Но я предпочел бы лучший способ сделать это. I tried using this. У меня все равно было то же самое время. В других частях моего кода я получаю Tue Jan 10 2017 19:54:30 GMT-0500 (EST), отличный от начального. Я буду рад, если кто-то может указать, что здесь не так.

+0

Возможно, попробуйте .toLocaleString() или что-то вроде новой Date (Date.UTC (год, месяц, день, час, минута, секунда)) – aggaton

+0

@aggaton Спасибо за ваш ответ. Я использовал 'new Date(). ToLocaleString();' и я получил '1/10/2017, 8:20:30 PM' не совсем то, что я ищу. Мне понравится время в формате 'TZ'. Однако 'new Date (Date.UTC (год, месяц, день, час, минута, секунда))' дал ошибку «год не определен» – Ekom

+0

Ум, время вашего сообщения: '2017-01-11 00: 56: 01Z'. Не знаю, где вы потеряли полтора часа? – Bergi

ответ

0

Использование moment.js это самый простой способ для достижения что вы просите.

moment().format() // "2017-01-11T13:56:15-05:00" 

Выходной сигнал представляет собой строку в формате ISO-8601 с смещением часового пояса в вашем местном часовом поясе.

Вы можете сделать это самостоятельно с большим количеством кода, который считывает различные свойства объекта , строя строку из этих значений. Но он не встроен в объект Date таким образом.

Также обратите внимание, что при попытке настроить объект Date по смещению часового пояса вы просто выбираете другой момент времени. Фактически вы не изменяете поведение часового пояса, используемого объектом Date.

+0

Спасибо Мэтт. Я думаю, что буду использовать moment.js. – Ekom

-5

Если у вас есть доступ к php.ini, вы можете установить date.timezone на правильный часовой пояс, полный список допустимых часовых поясов может быть кладезем на php.net/manual/timezones.php

+0

Этот вопрос не имеет ничего общего с PHP ?! – Bergi