2017-01-25 2 views
0

У нас есть ситуация, когда нам нужно отформатировать атрибут json response, который содержит строку даты (например, «2017-01-29»). Для форматирования даты мы в настоящее время с помощью функции JQuery UI, как:Дата форматирования с использованием JavaScript в приложении для электронной коммерции

dayVar = $.datepicker.formatDate('M dd, yy', new Date("2017-01-29")); 

Но если мы выводим dayVar, она отображается как 28 января, 17 против ожидаемых 29 января, 17. Что является лучшим решением исправить это, чтобы он мог вписаться в любой часовой пояс?

Это одностраничное приложение, построенное с использованием рамки Marionette.

+0

какая версия jQuery ui и jQuery вы используете? – gaetanoM

+0

jQuery - v1.8.3 и jQuery UI - v1.11.4 – kallada

+1

Вы можете проверить это [скрипка] (https://jsfiddle.net/xv5n2yde/) – gaetanoM

ответ

1

При создании нового объекта Date вы оставляете время до интерпретации. По умолчанию большинство сред будет интерпретировать это до 00:00:00 ... однако, поскольку это javascript, вы находитесь на милости локальной машины пользователя, чтобы интерпретировать это значение.

Я бы добавил 00:00:00 в строку к функции Date(). чтобы обеспечить ожидаемый результат или даже попытаться сыграть со временем, чтобы посмотреть, какие выходные данные он создает (возможно, установите его на 1:00 или 22:00:00), это должно обеспечить более глубокое понимание того, что вызывает проблему, и, надеюсь, решение.

+0

Будет ли это работать? var dateVar = новая дата ("2017-01-29"); dateVar = $ .datepicker.formatDate ('M dd, yy', new Date (dateVar.getTime() + (60000 * dateVar.getTimezoneOffset()))); – kallada

+1

Возможно, я не могу воспроизвести проблему, поэтому не могу провести тестирование. Я бы начал с обновления вашего кода до тестового запуска var dateVar = new Date («2017-01-29 00:00:00»); Посмотрите, если это приведет к любым изменениям в поведении, тогда вы можете проверить свой код выше, чтобы узнать, какое влияние оно оказывает! – Danoweb

+0

Благодарим за правильность ответа! Я рад, что это либо решило вашу проблему, либо привело вас к правильному пути к разрешению! Большое спасибо и goodluck на ваш проект! – Danoweb

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