Если хотите, вы также можете почувствовать часовой пояс, спросив у браузера, что у Джоша Фрейзера есть хорошая запись об этом здесь
var rightNow = new Date();
var jan1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);
var temp = jan1.toGMTString();
var jan2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
Второе, что выНужно знать, соблюдает ли местоположение летнее время (DST) или нет.Поскольку летнее время всегда наблюдается летом, мы можем сравнить временной сдвиг между двумя датами в январе с временным сдвигом между двумя датами в июне.Если смещения различны, то мы знаем, что местоположение соответствует DST.Если смещения одинаковы, то мы знаем, что место не соблюдает летнее время.
var june1 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0);
temp = june1.toGMTString();
var june2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
var dst;
if (std_time_offset == daylight_time_offset) {
dst = "0"; // daylight savings time is NOT observed
} else {
dst = "1"; // daylight savings time is observed
}
Вся заслуга в этом принадлежит Джошу Фрейзеру.
Это может помочь вам за пределамиСША, и это может дополнить ваш почтовый подход.
Вот SO вопросы, которые касаются получения часового пояса из javascript