2016-11-17 64 views
0

因此,我需要此函數以每秒更新當前日期和時間。此外,如果分鐘或秒鐘少於10我需要在前面添加0。繼承我的代碼,不知道我做錯了什麼,我對我的代碼感到非常自信。有什麼建議麼?創建日期和時間函數,每秒更新

<script> 
"use strict" 
// updates digital clock every second 
var tick = setInterval(digitalClock, 1000); 
//digital clock function 
function digitalClock() { 
    var currentTime(); 
    var dateObject = new Date(); 
    var hour = dateObject.getHours(); 
    var minute = dateObject.getMinutes(); 
    var second = dateObject.getSeconds(); 
    if (minute < 0) { 
    minute = "0" + minute; 
    } 
    if (second < 0) { 
    second = "0" + second; 
    } 
    currentTime = hour + ":" + minute + ":" + second; 
    document.getElementById('time').innerHTML = currentTime; 
} 
</script> 

有人告訴我的innerHTML不會工作,我把它,但我不明白爲什麼currentTime後不

回答

1

刪除(),你也需要檢查minutesecond小於10,不0

<p id='time'></p> 
 

 
<script> 
 
    function digitalClock() { 
 
    var dateObject = new Date(); 
 
    var parts = { 
 
    hours: dateObject.getHours(), 
 
    minutes: dateObject.getMinutes(), 
 
    seconds: dateObject.getSeconds(), 
 
    month: dateObject.getUTCMonth() + 1,// +1 because the month starts from 0 
 
    day: dateObject.getUTCDate(), 
 
    year: dateObject.getUTCFullYear() 
 
    }; 
 
    
 
    if (parts.minutes < 10) { 
 
    parts.minutes = "0" + parts.minutes; 
 
    } 
 
    if (parts.seconds < 10) { 
 
    parts.seconds = "0" + parts.seconds; 
 
    } 
 
    
 
    document.getElementById('time').innerHTML = `${parts.month}/${parts.day}/${parts.year} ${parts.hours}:${ parts.minutes}:${parts.seconds}`; 
 
} 
 

 
var tick = setInterval(digitalClock, 1000); 
 
    </script>

修訂

這是由純JavaScript。但我建議你使用momentJs,如果你需要多次處理時間和日期

+0

我還需要顯示日期,我如何將它與時間結合? – Alex204

+0

@ Alex204我編輯過 –

0

條件應該小於10並且將var定義爲var currentTime;而不是var currentTime();

<script> 
"use strict" 
// updates digital clock every second 
var tick = setInterval(digitalClock, 1000); 
//digital clock function 
function digitalClock() { 
    var currentTime; 
    var dateObject = new Date(); 
    var hour = dateObject.getHours(); 
    var minute = dateObject.getMinutes(); 
    var second = dateObject.getSeconds(); 
    if (minute < 10) { 
    minute = "0" + minute; 
    } 
    if (second < 10) { 
    second = "0" + second; 
    } 
    currentTime = hour + ":" + minute + ":" + second; 
    document.getElementById('time').innerHTML = currentTime; 
} 
</script>