?

Log in

No account? Create an account

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