Показать сообщение отдельно
  #1 (permalink)  
Старый 06.02.2015, 01:20
Новичок на форуме
Отправить личное сообщение для mkone112 Посмотреть профиль Найти все сообщения от mkone112
 
Регистрация: 18.09.2014
Сообщений: 5

Пара вопросов про new Date().
0. Почему document выводит на страницу время в местной временной зоне, а в консоль время попадает в UTC00:00 ?
Код:
var time = new Date();
document.getElementById('time0').innerHTML='Текущее время: ' + time;
console.log(time);
Песочница: http://learn.javascript.ru/play/MmaYs

1. Как правильно отображать дату и время в другой часовой зоне?
Например имеется дата:

Fri May 16 2200 04:11:33 GMT+0300

Необходимо преобразовать ее к следующему виду:

Fri May 16 2200 08:11:33 GMT+0700

Я пробовал с помощью .getTimezoneOffset() отнимать или прибавлять разницу. Но выходит так:

http://learn.javascript.ru/play/nQT7gc

Т. е. время меняется а временная зона разумеется та-же.

Я решил это преобразованием даты в строку и заменой +0300 на +0700. Или вообще "пересборкой даты" т.е. получилучение всех компоненты даты и опять-же дальнейшей работой с ней как со строкой. Однако мне кажется что это костыль/велосипед. Подскажите пожайлуста более корректное решение если оно есть. Заранее спасибо.

P.S. : Браузер Firefox 35.0.1 .
Ответить с цитированием