简体   繁体   English

创建日期和时间功能,每秒更新一次

[英]Creating a date and time function that updates every second

So I need this function to update every second with the current date and time. 因此,我需要此功能以当前日期和时间每秒更新一次。 Also if minute or second is less than 10 I need to add a 0 in front. 另外,如果分钟或秒小于10,则需要在前面加上0。 Heres my code, not sure what I'm doing wrong, I feel pretty confident in my code. 这是我的代码,不确定我在做什么错,我对我的代码很有信心。 Any suggestions? 有什么建议么?

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

I was told that innerHTML wont work where I put it, but I dont see why not 有人告诉我,innerHTML不能在我放置的地方工作,但是我不明白为什么不这样

Remove () after the currentTime and also you need to check if minute and second is less than 10 , not 0 currentTime之后删除() ,还需要检查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> 

UPDATED 更新

This is by pure JavaScript . 这是通过纯JavaScript But I advice you to use momentJs if you need to work with the times and dates many times 但我建议您如果需要多次处理时间和日期,请使用momentJs

condition should be less than 10 and define var as var currentTime; 条件应小于10,并将var定义为var currentTime; instead of 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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM