Moment.js以秒为单位动态更新时间

时间:2016-01-06 04:42:49

标签: javascript jquery momentjs

我试图显示每秒更新的时钟 (例如 1/5/2015 12:05: 01 < / strong> 然后 1/5/2015 12:05: 02 等)使用 moment.js

我在我的问题中找到以前的解决方案(请参阅Dynamic date and time with moment js and setinterval),但不能使用最新版本的moment.js(v2.11.0) 。提供的解决方案使用v2.6。

有人可以提供建议吗?

3 个答案:

答案 0 :(得分:9)

它似乎对我很好。对于相同的代码。只有moment.min.js指向 v2.11.0

查看代码(来自MilkyWayJoe) -

var datetime = null,
        date = null;

var update = function () {
    date = moment(new Date())
    datetime.html(date.format('dddd, MMMM Do YYYY, h:mm:ss a'));
};

$(document).ready(function(){
    datetime = $('#datetime')
    update();
    setInterval(update, 1000);
});

使用 v2.11.0 - JSFiddle Demo

进行操作

答案 1 :(得分:2)

紧凑的解决方案。

JSFiddle

HTML

<div id="datetime"></div>

的JavaScript

var update = function() {
    document.getElementById("datetime")
    .innerHTML = moment().format('MMMM Do YYYY, h:mm:ss a');
}
setInterval(update, 1000);

答案 2 :(得分:0)

您提到的上一个解决方案确实适用于.js v2.11.0。

代码:

var datetime = null,
        date = null;

var update = function () {
    date = moment(new Date())
    datetime.html(date.format('dddd, MMMM Do YYYY, h:mm:ss a'));
};

$(document).ready(function(){
    datetime = $('#datetime')
    update();
    setInterval(update, 1000);
});

请参阅JSFiddle

然而,JSFiddle在接受上一个解决方案的答案中无法解决以下错误。

"Refused to execute script from 'https://raw.github.com/timrwood/moment/1.6.2/moment.js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled."

可以通过简单地从适当的CDN加载脚本来修复它,如下所示:

https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.0/moment.min.js