删除日期时只需要时间,错误

时间:2017-04-20 17:58:58

标签: javascript

<script language="javascript">
$(function() {
    $('#clock')[0].innerHTML = moment().format("<?php echo date("Y-m-d H:i:s", time()); ?>");
    clock_tick();
});
function clock_tick(){
    var clock_div = $('#clock')[0];
    var time = moment(clock_div.innerHTML);
    time.add('second', 1);
    clock_div.innerHTML = time.format("YYYY-MM-DD hh:mm:ss");
    setTimeout("clock_tick()", 1000);
}
</script>

<div id="clock"></div>

我需要从这个脚本中删除日期,只需要时间。 我得到一个&#34;无效日期&#34;错误

Code Courtesy Stackoverflow

2 个答案:

答案 0 :(得分:1)

试试这个:

var time = moment().format("<?php echo date("Y-m-d H:i:s", time()); ?>");

$(function () {
    $('#clock')[0].innerHTML = time;
    clock_tick();
});

function clock_tick() {
    var clock_div = $('#clock')[0];
    time = moment(time);
    time.add('second', 1);
    clock_div.innerHTML = time.format("hh:mm:ss");
    setTimeout("clock_tick()", 1000);
}

答案 1 :(得分:0)

您不需要从php发出初始日期时间 - 只需使用new Date(),除非您需要高精度时钟,否则您可以依赖setTimeout。

使用.toLocaleTimeString()甚至可以让您满足特定的时间格式(AM / PM与24h)。

$(function () {
    clock_tick();
});

function clock_tick() {
    // just get the current DateTime
    time = new Date();

    // let a builtin function take care of the output formatting
    $('#clock').html(time.toLocaleTimeString("hi-IN"));

    // your timeout controls the elapsed second
    setTimeout("clock_tick()", 1000);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="clock"></div>