Преобразовать строку в новый объект Date в UTC timeZONE
Может кто-нибудь, дайте мне знать, как преобразовать string
к date
Объект с часовым поясом UTC в ExtJs?
Строка "2015-10-07T23:59:00"
, Я хотел бы получить то же самое в Date Object без изменения часового пояса.
3 ответа
Прежде всего, ваша строка даты не имеет часового пояса.
Когда вы создаете JavaScript-объект даты из строки, вы можете ожидать два следующих результата:
- Вы можете указать дату 23:59 по местному времени (в моем случае 23:59 CEST).
В этом случае вы хотите использоватьnew Date("2015-10-07 23:59:00")
с простым javascript (обратите внимание на отсутствиеT
), или жеExt.Date.parse("2015-10-07T23:59:00","c");
, - Вы можете указать дату 23:59 UTC (например, 01:59 CEST).
В этом случае вы хотите использоватьnew Date("2015-10-07T23:59:00")
,
Конечно, всякий раз, когда вы выводите дату, вы также должны получать дату в правильном часовом поясе. Консоль /toString обычно показывает это по местному времени. JavaScript действительно обеспечивает getUTC...
методы, если вам требуются другие часовые пояса.
Видите ли, использование часовых поясов с JavaScript - это болезненный опыт. Я бы порекомендовал попробовать moment.js, если вам нужна полная поддержка часовых поясов.
Ты можешь использовать Ext.Date.parse
. Это дает Date Object в качестве вывода. Синтаксис:
Ext.Date.parse( String input, String format, [Boolean strict] )
Например:
Ext.Date.parse("2015-10-07T23:59:00", "Y-m-dTH:i:s");
Пытаться
var millisFromEpoch = Date.parse('2015-10-07T23:59:00');
он будет анализировать дату в часовом поясе GMT, Ext.date.parse вместо этого использовать текущий часовой пояс