Я пишу веб-приложение MVC 5. В этом случае у меня есть несколько списков, которые я распространяю и управляю с помощью javascript и jquery (один набор данных, зависимые элементы выбора и добавление обратных вызовов ajax будет осложнять его без необходимости.)Javascript Parsed Date
Проблема у меня есть: у меня есть скрытое поле отформатирован по ISO 8601. У меня возникают проблемы при отображении даты в локальном времени пользователя, я получаю сдвинутую дату.
Так что если дата указана как: 01-01-2009 (в iso 8601 формате: 2009-01-01), пользователь видит: 12-31-2008.
Когда я анализирую дату я использую:
this.date = new Date(Date.parse(originalString));
/* ^- Date.parse is giving me a number. */
Для отображения текста даты я использую:
admin.date.toLocaleDateString().Concat(...
мне нужно сделать какой-либо патч-вверх делать настроить настройки в правильную часовую зону? Дата, когда используется console.log(admin.date);
показывает оригинал 2009-01-01
Я думаю, что есть какой-то параметр, который я не правильно задаю в toLocaleDateString
, но уровень моего знакомства с ним низок.
Редактировать: Цель состоит в том, чтобы предотвратить смену даты. Все, что мы храним, - это дата, время отбрасывается. У нас есть несколько часовых поясов, отправляемых в эту базу данных, и цель такова: мы используем дату человека, который отправил его, время было сокращено. Был ли дата 1 мая 2015 года, я хочу, чтобы каждый, кто видит эту дату, чтобы увидеть май 01, 2015, «toLocaleDateString» - это просто средство, чтобы получить его формат для своего региона. Так что кто-то, кто рассматривает даты как yyyy-mm-dd, увидит его правильно.
Ну, если опустить часы/минуты, они по умолчанию до полуночи. А полуночи, как мы знаем, происходят 24 раза в день (потому что время) ...Ваша местная полночь на 1 января, возможно, была полночь 31 декабря и т. Д. –
просто прочитал API для этого метода: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString – pherris
В зависимости от версии реализованного стандарта частичные строки даты ISO 8601 по умолчанию будут учитываться в часовом поясе UTC. [Из ES 5.1 - * Значение смещения отсутствующего часового пояса - «** Z **». *] (Http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) Предшествующий стандарт ES 6 до сих пор изменил это на локальный часовой пояс пользователя. –