为什么 new Date() 显示的日期不正确?

问题描述 投票:0回答:1

我有一个简单的页面,显示当前时间和日期:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <h:outputScript name="clock.js"></h:outputScript>
    </h:head>
    <h:body>
        <p class="clock" id="clock-time"></p>
        <h3 class="clock-date" id="clock-date"></h3>
    </h:body>
</html>

还有clock.js:

window.onload = updateClock;

function updateClock() {
    let dt = new Date();
    let time =
        dt.getHours() +
        ':' +
        (dt.getMinutes() < 10 ? '0' + dt.getMinutes() : dt.getMinutes()) +
        ':' +
        (dt.getSeconds() < 10 ? '0' + dt.getSeconds() : dt.getSeconds());
    let date =
        (dt.getDay() < 10 ? '0' + dt.getDay() : dt.getDay()) +
        '-' +
        (dt.getMonth() < 10 ? '0' + dt.getMonth() : dt.getMonth()) +
        '-' +
        dt.getFullYear();
    document.getElementById('clock-time').innerText = time;
    document.getElementById('clock-date').innerText = date;
    setTimeout(updateClock, 6000);
}

但是它显示正确的时间,但不显示正确的日期: 截图

javascript jsf
1个回答
0
投票

getDay 应该是 getDate getMonth 是 jan = 0 所以 +1 it

© www.soinside.com 2019 - 2024. All rights reserved.