JavaScript通过Date对象获取当前时间,调用new Date()创建实例后,使用getFullYear()、getMonth()+1、getDate()等方法获取年月日时分秒,注意月份从0开始需+1,结合padStart(2, '0')实现两位数补零格式化输出,如2024-06-10 15:30:25,同时可用Date.now()或getTime()获取毫秒级时间戳用于计算或标识。

JavaScript获取当前时间主要通过内置的Date对象实现。创建Date实例后,可以调用其方法获取年、月、日、时、分、秒等信息,并进行自定义格式化输出。
创建Date对象获取当前时间
调用 new Date() 不传参数即可获取表示当前日期和时间的Date对象:
const now = new Date(); console.log(now); // 输出类似:Mon Jun 10 2024 15:30:25 GMT+0800 (中国标准时间)Date对象会自动使用本地时区显示时间,也可通过UTC方法获取世界标准时间。
常用方法提取时间各部分
通过Date对象提供的方法,可分别获取时间的各个组成部分:
立即学习“Java免费学习笔记(深入)”;
const now = new Date();now.getFullYear(); // 年份,如 2024
now.getMonth() + 1; // 月份(注意:从0开始,需+1)
now.getDate(); // 日期(1-31)
now.getHours(); // 小时(0-23)
now.getMinutes(); // 分钟(0-59)
now.getSeconds(); // 秒数(0-59)
now.getDay(); // 星期几(0=周日,6=周六)
这些方法返回的都是整数类型,便于参与计算或拼接显示。
格式化时间输出
原生Date对象输出格式可能不符合需求,可通过封装函数实现自定义格式:
function formatDate(date) {const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const hour = String(date.getHours()).padStart(2, '0');
const minute = String(date.getMinutes()).padStart(2, '0');
const second = String(date.getSeconds()).padStart(2, '0');
return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
}
console.log(formatDate(new Date())); // 输出:2024-06-10 15:30:25
padStart(2, '0') 确保月份、日期等为两位数显示,避免出现 2024-6-5 这类不统一格式。
快速获取时间戳
如果只需要数字形式的时间,可使用以下方式获取毫秒级时间戳:
Date.now(); // 当前时间的时间戳new Date().getTime(); // 同上,两种写法效果一致
时间戳常用于计算时间差或作为唯一标识,在存储和传输中非常实用。
基本上就这些。掌握Date对象的基本用法和格式化技巧,就能在项目中灵活处理时间显示需求。不复杂但容易忽略细节,比如月份从0开始、补零处理等,稍加注意即可避免常见问题。










