2015-05-06 5 views
4

Я использую moment.js для отображения времени на моей веб-странице. У меня есть HTML DIV:Moment.js: как обновлять время каждую минуту?

<div id="time"></div> 

и следующий JavaScript:

<script> 
    moment.tz.add('America/New_York|EST EDT|50 40|0101|1Lz50 1zb0 Op0');                   
    var newYork = moment.tz("America/New_York").format('HH:mm a'); 
    $('#time').append("Current time in New York: "+newYork); 
</script> 

Когда я запускаю страницу, это дает мне правильное время, но он не меняется с каждой минутой, так что даже через 10 минут или около того я получаю время, которое было видно, когда я загрузил страницу. Есть ли способ сохранить время обновления? Вот моя скрипка: http://jsfiddle.net/93pEd/132/

+0

Итак, вот вопрос, который я задал себе, когда я прочитал этот вопрос. Когда вы говорите обновление каждую минуту, вы имеете в виду это дословно? Как и в, независимо от того, когда пользователи загружают страницу (например, 10:32:43), вы хотели бы, чтобы она обновлялась каждую минуту (например, 10:33:43), или вы подразумеваете каждую минуту в минуту? – Taplar

+0

Вау, это хороший вопрос, о котором я не думал ... Я хочу показать текущее время в разных часовых поясах (в моем случае это новый йорк) и сделать это как можно проще .. – randomuser1

+0

Просто любопытно, поскольку в зависимости от на которые могут ответить следующие ответы. – Taplar

ответ

7

Используйте setInterval() для запуска кода каждые 60 секунд.

Используйте html() вместо append(), чтобы предыдущее время было переопределено.

function updateTime(){ 
    var newYork = moment.tz("America/New_York").format('HH:mm a'); 
    $('#time').html("Current time in New York: "+newYork); 
}; 

moment.tz.add('America/New_York|EST EDT|50 40|0101|1Lz50 1zb0 Op0');                   

updateTime(); 
setInterval(function(){ 
    updateTime(); 
},60000); 

http://jsfiddle.net/93pEd/135/


Heres пример использования секунды также:

http://jsfiddle.net/93pEd/136/

+0

Хорошо, это работает, но есть одна небольшая проблема - когда я загружаю страницу, мой div пуст и заполняется через одну минуту ... Есть ли способ заполнить его при запуске страницы? – randomuser1

+0

@ randomuser1 Проблема с синтаксисом - см. Обновленный ответ - http://jsfiddle.net/93pEd/135/ – Curt

+0

Спасибо, он решил мою проблему! – randomuser1

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