javascript 中的日期原型通过 date.prototype 对象提供,开发者可以直接调用其中定义的方法来操作日期实例。理解它的关键在于区分静态方法与实例方法:静态方法如 date.now() 直接挂载在 date 构造函数上,而实例方法如 getmonth() 则存在于原型链中。当创建一个日期对象时,它会继承这些方法,从而能够获取或修改日期的各个组成部分。

如何区分并调用 Date 的静态与实例方法
要正确调用日期相关功能,必须明确区分哪些是静态方法,哪些是实例方法。静态方法属于 Date 构造函数本身,通常用于获取当前时间戳或解析字符串;实例方法则属于 Date.prototype,需要作用于具体的日期对象实例。混淆这两者会导致 TypeError,例如尝试在实例上调用 Date.now() 或在构造函数上调用 getHours()。

const now = Date.now(); // 静态方法,返回时间戳 const dateObj = new Date(); // 创建实例 const hours = dateObj.getHours(); // 实例方法,获取小时数 console.log(now, hours);
Date.prototype 中常用实例方法的实际行为
在掌握了基本调用方式后,进一步理解 Date.prototype 中具体实例方法的行为至关重要。这些方法大多基于本地时区进行操作,且月份索引从 0 开始(即 1 月为 0)。开发者在处理日期计算、格式化输出或跨时区逻辑时,必须清楚每个方法的具体返回值范围及其对原始对象的影响,避免因为索引偏移或时区差异导致逻辑错误。

const d = new Date('2023-10-05T14:30:00');
console.log(d.getMonth()); // 9 (October)
console.log(d.getDate()); // 5
console.log(d.getDay()); // 4 (Thursday)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











