2017-04-20 33 views
-2
<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> 

我需要從該腳本中刪除日期,只需要時間。 我得到一個「無效的日期」錯誤只需要時間,清除日期時出錯

代碼禮貌#1

+0

你只想11:00:00這樣嗎? – Omi

+0

那麼你試圖從div中讀取當前時間,當然它會抱怨無效日期。你有沒有考慮把你當前的日期時間放入一個變量中,只用div來顯示? – Filburt

+0

原來你甚至不需要一個(全局)變量。 – Filburt

回答

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); 
} 
0

你不需要發出從PHP最初日期時間 - 只使用new Date(),你可以依靠在你的setTimeout上,除非你需要一個高精度的時鐘。

使用.toLocaleTimeString()甚至可以讓您滿足特定的時間格式(AM/PM vs 24小時)。

$(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>