2015-10-28 2 views
0

У меня есть функция, где я получаю время utc из базы данных, например «2015-10-28T18:02:44», и я хочу обновить время с использованием заданного интервала в moment.js , чтобы он дал мне вывод как 8:02:53 am и после второго 8:02:54 am, как обычные часы. до сих пор у меня есть этот код, который не похоже на работуОбновите время, предоставленное с помощью moment.js

function update() { 
    var date = moment(new Date("2015-10-28T18:02:44")); 
    console.log(date.format('h:mm:ss a')); 
}; 

setInterval(function(){ 
    update(); 
}, 1000); 
+0

Вы получаете Дата из базы данных в функции обновления? Или просто получить его один раз раньше и обновить после этого? – aarjithn

+0

Привет, я получаю это до того, как нажимать на функцию обновления, это просто, например, – yaser

+0

@aarjithn не работает даже до функции – yaser

ответ

1

Получить дату перед функцией обновления, и в нем просто добавить второй, а затем отформатировать его.

var date = moment.utc("2015-10-28T18:02:44").local(); 

function update() { 
    console.log(date.add(1, "s").format('h:mm:ss a')); 
}; 

setInterval(function(){ 
    update(); 
}, 1000); 

JSFiddle

Убедитесь, что setInterval установлен в 1000 (1s)

+0

привет обновляется, но время на самом деле не так "18:02:44" на «06:02:44», но его конвертация в «12:02:44» – yaser

+0

Ну, я вижу, что он конвертировал его в 06:02:44. В какой часовой зоне вы живете? – aarjithn

+0

Можете ли вы попробовать 'date.add (1," s "). Utc(). Format ('h: mm: ss a')' – aarjithn

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