Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var time_zone = ((<? echo time();?> - loc/1000)/60).toFixed(0);
Исходим из того, что на сервере все даты хранятся в базе данных в формате GMT (и это правильно).
// t — время в секундах из БД сервера
<span class="date-fixable" data-time="Tue, 18 May 2015 15:35:00+0400">18 мая 15:35</span>Где-нибудь вначале можно передать серверное время. На стороне клиента вычислили смещение и подправили даты в нужных спанах.
Таким образом для правильного вывода дат (времени) в браузере пользователя нужно вычислить смещение между временем браузера и сервера.
return two(d.getUTCDate())+'.'+ two(d.getUTCMonth()+1)+'.'+d.getUTCFullYear()+' '+ two(d.getUTCHours())+':'+ two(d.getUTCMinutes());
var deltaUTC = ( new Date() ).getTime() - <?=microtime( true );?>;
var mydate = function ( date ) {
var time = new Date ( date );
time.setTime ( time.getTime() + deltaUTC );
/* в качестве возврата будем использовать значение в привычном для пользователя формате */
return time.toLocaleDateString() + ' ' + time.toLocaleTimeString();
};
Javascript и часовые пояса — правильное время на сайте