Преобразовать строку в новый объект 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 вместо этого использовать текущий часовой пояс

Другие вопросы по тегам