<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
答案 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>