[javascript] JavaScript에서 HH : MM : SS 형식으로 현재 시간을 표시하는 방법은 무엇입니까?

HH : MM : SS이 형식으로 시간을 설정하는 방법을 알려주세요. div에서 설정하고 싶습니다.



답변

function checkTime(i) {
  if (i < 10) {
    i = "0" + i;
  }
  return i;
}

function startTime() {
  var today = new Date();
  var h = today.getHours();
  var m = today.getMinutes();
  var s = today.getSeconds();
  // add a zero in front of numbers<10
  m = checkTime(m);
  s = checkTime(s);
  document.getElementById('time').innerHTML = h + ":" + m + ":" + s;
  t = setTimeout(function() {
    startTime()
  }, 500);
}
startTime();
<div id="time"></div>

JavaScript 만 사용하는 데모

최신 정보

Updated Demo

(function () {
    function checkTime(i) {
        return (i < 10) ? "0" + i : i;
    }

    function startTime() {
        var today = new Date(),
            h = checkTime(today.getHours()),
            m = checkTime(today.getMinutes()),
            s = checkTime(today.getSeconds());
        document.getElementById('time').innerHTML = h + ":" + m + ":" + s;
        t = setTimeout(function () {
            startTime()
        }, 500);
    }
    startTime();
})();


답변

기본 기능을 사용할 수 있습니다 Date.toLocaleTimeString().

var d = new Date();
var n = d.toLocaleTimeString();

예를 들어 다음과 같이 표시됩니다.

"11:33:01"

http://www.w3schools.com/jsref/jsref_tolocaletimestring.asp 에서 찾았습니다 .


답변

에서이 작업을 수행 할 수 있습니다 Javascript.

var time = new Date();
console.log(time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds());

현재 그것은 반환 15:5:18 . 값 중 하나가 10보다 작 으면 두 자리가 아닌 한 자리 만 사용하여 표시됩니다.

JSFiddle 에서 확인하십시오.

업데이트 :
접두사가 0 인 경우 try

var time = new Date();
console.log(
    ("0" + time.getHours()).slice(-2)   + ":" +
    ("0" + time.getMinutes()).slice(-2) + ":" +
    ("0" + time.getSeconds()).slice(-2));


답변

moment.js 를 사용 하여 이를 수행 할 수 있습니다 .

var now = new moment();
console.log(now.format("HH:mm:ss"));

출력 :

16:30:03


답변

new Date().toTimeString().slice(0,8)

toLocaleTimeString ()은 9:00:00 AM.


답변

다음과 같이 사용하십시오.

var d = new Date();
localtime = d.toLocaleTimeString('en-US', { hour12: false });

결과 : 18:56:31


답변

function realtime() {

  let time = moment().format('h:mm:ss a');
  document.getElementById('time').innerHTML = time;

  setInterval(() => {
    time = moment().format('h:mm:ss a');
    document.getElementById('time').innerHTML = time;
  }, 1000)
}

realtime();
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>

<div id="time"></div>

moment.jssetInterval을 사용하는 매우 간단한 방법 입니다.

setInterval(() => {
  moment().format('h:mm:ss a');
}, 1000)

샘플 출력

사용 setInterval()1000MS 또는 1 초로 설정, 출력은 1 초마다 리프레쉬한다.

3:25:50 오후

이것이 내 사이드 ​​프로젝트 중 하나에서이 방법을 사용하는 방법입니다.

setInterval(() => {
  this.time = this.shared.time;
}, 1000)

사용 setInterval()하면 성능 문제가 발생 하는지 궁금 할 것입니다.

setInterval CPU 집약적입니까?

나는 setInterval이 본질적으로 심각한 성능 문제를 일으킬 것이라고 생각하지 않습니다. CPU가 덜 강력했던 초기 시대에서 명성이 올 수 있다고 생각합니다. …-외로운

아니요, setInterval은 그 자체로 CPU를 많이 사용하지 않습니다. 매우 짧은 주기로 많은 간격을 실행하는 경우 (또는 적당히 긴 간격으로 실행되는 매우 복잡한 작업) 간격이 정확히 무엇을하고 얼마나 자주 실행하는지에 따라 쉽게 CPU 집약적이 될 수 있습니다. …-아 로스

그러나 일반적으로 사이트에서 setInterval을 많이 사용하면 속도가 느려질 수 있습니다. 다소 무거운 작업과 함께 20 개의 동시 실행 인터벌이 쇼에 영향을 미칩니다. 그리고 다시 .. setInterval의 문제가 아니라고 생각하는 부분을 엉망으로 만들 수 있습니다. …-jAndy