Найти текущее время в ET: EST или EDT, в зависимости от ситуации - PullRequest
4 голосов
/ 07 сентября 2011

У меня есть приложение, которое должно использовать восточное время для определенной части расчета, а не для местного времени.Я полагаю, что все это можно сделать вручную (извлеките время по Гринвичу, решите, действительно ли переход на летнее время осуществляется с помощью поиска в таблице, а затем измените на 4 или 5 часов в зависимости от ситуации), но мне было интересно, есть ли встроенный способ сделать это.

Кроме того, не было ли изменений в летнее время в США?(Мне нужно следовать американским правилам в отношении перехода на летнее время.) Интересно, были ли они включены в выпуски JavaScript, соответствуют ли они старым правилам или вообще никогда не знали о них.

1 Ответ

1 голос
/ 07 сентября 2011

Допустимый метод:

var d, lsm, lso, off;
d = lsm = lso = new Date;
var off = d.getTimezoneOffset();
lsm.setMonth(2);
lsm.setDate(11);
lsm.setDate(11-lsm.getDay());
lso.setMonth(10);
lso.setDate(4);
lso.setDate(4-lso.getDay());
d.setMinutes(d.getMinutes()+off-(d < lsm || d >= lso ? 300 : 240));
// d contains the ET date
...