Дата Javascript Дает мне EDT, но я хочу EST

Я получаю временную метку MySQL в UTC и пытаюсь скрывать ее в локальном часовом поясе клиента. Однако, когда я делаю это, я получаю неправильный часовой пояс.

Ive отформатировал мою строку DateTime для: var utcTime = 2014-05-15T13:00:00Z

Однако, когда после моего преобразования мой объект dateObject: Date {Thu May 15 2014 09:00:00 GMT-0400 (EDT)}. Тем не менее, я хочу, чтобы мой часовой пояс был GMT -0500 (EST).

Я искал в Интернете и видел, что есть способ сделать это, добавив "UTC" в временную отметку в формате MYSQL. Однако этот метод не работает во всех браузерах.

Если у кого-то есть представление о преобразовании часовых поясов, я был бы признателен.

Ответ 1

D в EDT означает Daylight, а S в EST означает Standard. EDT следует использовать в летние месяцы в зимнем сезоне (список стран здесь). Возможно ли, что GMT -4 (EDT) на самом деле является правильным местным временем? Если бы он был ближе к зиме, он автоматически переключился на GMT -5 (EST). Часовой пояс клиента вместе с летней экономией обрабатывается автоматически Javascript.

Например, стандартное строковое представление определенной даты в Javascript должно правильно выбирать между стандартным временем и летней экономией времени на основе самого объекта даты и часового пояса машины:

var date = new Date(millisSinceUnixEpoch);
alert(date.toDateString() + ' ' + date.toTimeString());

Примечание: есть место для многих предположений. Например. не совсем точно, как выглядит код вашего преобразования в локальный часовой пояс

Ответ 2

Я видел нечто похожее на это. Эта статья MSDN может объяснить это.

Обработка летнего времени с использованием JavaScript

http://msdn.microsoft.com/en-us/library/ie/jj863688%28v=vs.85%29.aspx

В Windows Internet Explorer 9 и предыдущих версиях Windows Internet Explorer, даты настраиваются с помощью ECMAScript правила спецификации для сохранения времени, скорректированного на летнее время внутренне. Чтобы улучшить точность, особенно с датами в прошлом (исторические даты), Internet Explorer 10 полагается на системные правила для сохранения времени, скорректированного на летнее время. Этот раздел содержит следующие разделы: