Previous Entry Share Next Entry
Показываем местное время через JavaScript
Mac
sanmai
Показываем местное время через JavaScript

На сайтах для международной аудитории нередко возникает необходимость показывать время в часовом поясе пользователя. Традиционно это требовало регистрации на сайте и указания временной зоны в настройках, но есть способ проще.

1. В требуемых местах указываем текущее время, например, так:
<abbr class="localtime" data-date="Fri, 29 Jun 2012 12:00:00 -1200"></abbr>
Атрибут data-date должен содержать дату в формате RFC 2822 в любом часовом поясе.

2. В функцию, вызываемую в $(document).ready(), добавляем:
$('.localtime').each(function() {
    var $this = $(this);
    var date = new Date($this.data('date'));    
    $this.html(date.toLocaleDateString() + " " + date.toLocaleTimeString());
    $this.attr('title', date.toLocaleString());    
});

3. Перезагружаем страницу и видим время не в UTC−12, как в атрибуте data-date, а в вашем часовом поясе. Например, в UTC+9 это будет 2012-06-30 09:00.

Пример работы: http://jsfiddle.net/sanmai/5N2BT/

  • 1
Не совсем понял :) Это чтобы перенести некую известную серверу дату/время (но не "сейчас") в часовой пояс посетителя?

спасибо, и впрямь "useful"

Спасибо, обязательно попробую;)

  • 1
?

Log in

No account? Create an account