2015-11-09 5 views
2

Использование чистого javascript (без jquery или plugins), как преобразовать одно местное время в другой часовой пояс?Как получить местное время в другом часовом поясе

Для ситуации:

Я делаю таймер обратного отсчета, и я установить дату окончания как переменная JavaScript. Я хочу преобразовать эту переменную в локальное время в зависимости от местоположения/часового пояса клиента.

var maintenanceEndDate = new Date("11/10/2015 00:00"); //This is the initial time, based on the administrator's location 
var maintenanceEndDateOffset = ???? //The above time converted to local time 

и THEN Я бы хотел конвертировать оба в UTC.

Любые идеи?

+1

Осторожно с форматом ввода. Это 10 ноября или 11 октября? Он будет меняться в зависимости от языка, в котором выполняется код. Всегда предпочитайте формат yyyy-mm-dd. –

ответ

0

var now = new Date();

Это даст вам дату и время клиента.

now.getTimezoneOffset()

дам вам смещение между этой временной зоной и UTC.

+0

@Artvader - Чтобы быть понятным, это дает вам смещение между местным временем и UTC * для этой конкретной даты и времени *. Смещение можно легко изменить, например, для летнего времени. Не путайте «часовой пояс» с «смещением часового пояса». –

1

Вы можете указать свой конец обслуживания времени в UTC и пусть локальный браузер обрабатывать преобразование времени для вас:

var maintenanceEndDate = new Date("2015-11-10T00:00:00Z"); 
 
document.write('Local time: ' + maintenanceEndDate.toString() + '<br>') 
 
document.write('UTC time: ' + maintenanceEndDate.toISOString())

+1

Согласовано, за исключением того, что вход должен также быть строкой ISO, такой как «2015-11-10T00: 00: 00Z'. –

+0

Я изменил свой ответ, чтобы вместо этого использовать строку даты ISO. – Jaco

0

Я предлагаю вам погрузиться в momentjs библиотеку, которая делает именно то, что вам нужно: http://momentjs.com/ и http://momentjs.com/timezone/

+0

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

Смежные вопросы