javaScript date对象是处理时间的核心,需注意本地/UTC方法区别、月份从0开始、字符串解析兼容性及时间戳计算优先等关键细节。

javascript 中的 Date 对象是处理时间的核心工具,掌握它的常用方法能快速完成日期获取、格式化、计算和比较等任务。关键在于理解哪些方法返回本地时间、哪些返回 UTC 时间,以及哪些会修改原对象、哪些只读取。
创建和初始化 Date 对象
有多种方式创建日期实例:
- new Date():当前本地时间
- new Date(‘2024-05-20’) 或 new Date(‘May 20, 2024’):解析字符串(推荐使用 ISO 格式
yyYY-MM-DD,兼容性更好) - new Date(2024, 4, 20):年、月(注意:月份从 0 开始,4 表示五月)、日;时分秒毫秒可选
- new Date(1716192000000):传入时间戳(毫秒数,从 1970-01-01 00:00:00 UTC 开始)
获取日期时间值(不修改原对象)
这些方法返回数字,基于本地时区:
- getFullYear():四位年份(如 2024)
- getMonth():月份(0–11),需 +1 才是常规意义的月份数
- getDate():当月第几天(1–31)
- getDay():星期几(0–6,0 是周日)
- getHours() / getMinutes() / getSeconds() / getMilliseconds()
- getTime():返回时间戳(毫秒)——最常用,适合比较或存储
如果需要 UTC 时间,把方法名中的 get 换成 getUTC,例如 getUTCFullYear()。
立即学习“Java免费学习笔记(深入)”;
设置日期时间值(会修改原 Date 对象)
对应获取方法,都有可写版本:
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
508 - setFullYear(2025)、setMonth(11)(11 = 十二月)、setDate(25)
- setHours(14, 30, 0, 500):支持同时设时、分、秒、毫秒
- setTime(1716192000000):直接用时间戳重置整个日期
⚠️ 注意:setMonth() 和 setDate() 超出范围时会自动进位。例如 new Date(2024, 0, 32).getDate() 返回 1(即 2024-02-01)。
格式化与转换常用技巧
原生方法有限,但够日常用:
- toString():完整本地时间字符串(含时区)
- toDateString():仅日期部分(如 “Mon May 20 2024″)
- toLocaleDateString():按系统语言/地区格式化,支持选项:
date.toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' })→ “2024-05-20” - toISOString():返回标准 ISO 8601 字符串(UTC 时间,带 Z),如
"2024-05-20T00:00:00.000Z",适合 API 传输 - jsON.stringify(new Date()) 自动调用
toISOString()
避免用 toLocaleString() 做固定格式,它依赖用户系统设置;需要稳定输出建议手动拼接或用 toISOString().slice(0,10) 取日期部分。
基本上就这些。Date 对象本身不复杂,但细节(比如月份从 0 开始、字符串解析差异、本地 vs UTC)容易忽略,实际开发中建议优先用时间戳做计算,用 toISOString() 或 toLocaleDateString() 控制输出。