JavaScript 获取当前时间

上一节介绍了如何使用 JavaScript 获取当前时间戳,本节再来介绍如何来获取当前日期(年、月、日)和时间(时、分、秒)。

JavaScript 获取年、月、日

在 JavaScript 中,我们可以使用 getFullYear()、getMonth() 和 getDate() 方法分别来获取当前时间的年、月、日,如下表所示。

获取年、月、日
方法 说明
getFullYear() 获取年份,取值为 4 位数字
getMonth() 获取月份,取值为 0(一月)到 11(十二月)之间的整数
getDate() 获取日数,取值为 1~31 之间的整数

提示: 如果想要设置年、月、日,对应的应该使用 setFullYear()、setMonth()、setDate() 方法来实现。

示例 1:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const d = new Date();

        const myDay = d.getDate();
        const myMonth = d.getMonth() + 1;
        const myYear = d.getFullYear();

        const result = "今天是" + myYear + "年" + myMonth + "月" + myDay + "日";
        console.log(result);
    </script>
</body>
</html>

运行结果如下。

今天是2025106

分析:

细心的小伙伴会发现,const myMonth = d.getMonth() + 1; 使用了 “+1”。其实,getMonth() 方法返回值是 0(一月)到 11(十二月)之间的整数,所以必须加上 1,这样月份才正确。

注意: 获取当前月的 “日数” ,不是使用 getDay(),而是使用 getDate()。

JavaScript 获取时、分、秒

在 JavaScript 中,我们可以使用 getHours()、getMinutes()、getSeconds() 方法分别获取当前的时、分、秒,如下表所示。

获取时、分、秒
方法 说明
getHours() 获取小时数,取值为 0~23 之间的整数
getMinutes() 获取分钟数,取值为 0~59 之间的整数
getSeconds() 获取秒数,取值为 0~59 之间的整数

提示: 如果想要设置时、分、秒,对应地应该使用 setHours()、setMinutes()、setSeconds() 方法来实现。

示例 2:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const d = new Date();

        const myHours = d.getHours();
        const myMinutes = d.getMinutes();
        const mySeconds = d.getSeconds();

        const result = "当前时间是:" + myHours + ":" + myMinutes + ":" + mySeconds;
        console.log(result);
    </script>
</body>
</html>

运行结果如下。

当前时间是:8:30:25

分析:

在实际 UI 中,我们通常要求显示为 08:30:25 这样,此时可以使用字符串的 padStart() 方法来实现。

const myHours = d.getHours().padStart(2, "0");
const myMinutes = d.getMinutes().padStart(2, "0");
const mySeconds = d.getSeconds().padStart(2, "0");

示例 3:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const d = new Date();
        const hours = d.getHours();
        
        if (hours < 12) {
            console.log("早上好!");
        } else if (hours >= 12 && hours < 18) {
            console.log("下午好!");
        } else {
            console.log("晚上好!");
        }
    </script>
</body>
</html>

运行结果如下。

早上好!

分析:

上面输出结果未必是 “早上好”,这个是根据当前时间来判断的。由于我现在测试的时间是早上 8:00,所以会输出 “早上好”。如果你是在 15:00 测试的,那么就会输出 “下午好”,以此类推。

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号