JavaScript Date 对象完整用法
// 1. 获取【当前系统时间】(最常用) const now = new Date(); // 2. 根据【时间戳】创建时间 const date1 = new Date(1716000000000); // 3. 根据【时间字符串】创建时间 const date2 = new Date("2024-05-20 12:00:00"); // 4. 自定义年月日时分秒创建(月份从0开始!) const date3 = new Date(2024, 4, 20, 12, 0, 0);获取时间的核心方法
| 方法 | 说明 | 重要坑点 |
|---|---|---|
getFullYear() | 获取 4 位年份(2024) | ✅ 标准方法,必用 |
getYear() | 获取 2 位年份 | |
getMonth() | 获取月份(0~11) | 0=1 月,11=12 月,需要 + 1 |
getDate() | 获取日期(1~31) | 正常使用 |
getDay() | 获取星期(0~6) | 0 = 周日,1 = 周一,6 = 周六 |
getHours() | 获取小时(0~23) | 24 小时制 |
getMinutes() | 获取分钟(0~59) | - |
getSeconds() | 获取秒数(0~59) | - |
getMilliseconds() | 获取毫秒(0~999) | - |
getTime() | 获取时间戳(毫秒) | 1970.1.1 至今的总毫秒数 |
获取时间戳 时间戳:从1970-01-01 00:00:00到当前时间的毫秒数,用于计算、存储时间。
const date = new Date(); // 方法1:Date.parse() → 丢失毫秒(不推荐) let t1 = Date.parse(date); // 方法2:valueOf() → 精确毫秒 let t2 = date.valueOf(); // 方法3:getTime() → ✅ 开发首选,最清晰、最常用 let t3 = date.getTime(); // 极简写法(大神常用) let t4 = +new Date();内置快速格式化(直接转字符串)
const date = new Date(); date.toLocaleDateString(); // 仅日期:2024/5/20 date.toLocaleTimeString(); // 仅时间:12:30:45 date.toLocaleString(); // 日期+时间:2024/5/20 12:30:45自定义格式化
// 格式化时间:YYYY-MM-DD HH:mm:ss function formatTime(date = new Date()) { // 补零函数:1→01,10→10 const pad = (num) => num.toString().padStart(2, '0'); const y = date.getFullYear(); const m = pad(date.getMonth() + 1); // 月份+1 const d = pad(date.getDate()); const h = pad(date.getHours()); const min = pad(date.getMinutes()); const s = pad(date.getSeconds()); return `${y}-${m}-${d} ${h}:${min}:${s}`; } // 使用 console.log(formatTime());