Date 对象用于处理日期与时间。
创建 Date 对象: new Date()
以下四种方法同样可以创建 Date 对象:
var d = new Date();
var d = new Date(milliseconds);
var d = new Date(dateString);
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
参数说明如下:
- 不提供参数:若调用 Date() 函数时不提供参数,则创建一个包含当前时间和日期的 Date 对象;
- milliseconds(毫秒):若提供一个数值作为参数,则会将这个参数视为一个以毫秒为单位的时间值,并返回自 1970-01-01 00:00:00 起,经过指定毫秒数的时间,例如 new Date(5000) 会返回一个 1970-01-01 00:00:00 经过 5000 毫秒之后的时间;
- datestring(日期字符串):若提供一个字符串形式的日期作为参数,则会将其转换为具体的时间,日期的字符串形式有两种,如下所示:
- YYYY/MM/dd HH:mm:ss(推荐):若省略时间部分,则返回的 Date 对象的时间为 00:00:00;
- YYYY-MM-dd HH:mm:ss:若省略时间部分,则返回的 Date 对象的时间为 08:00:00(加上本地时区),若不省略,在 IE 浏览器中会转换失败。
- 将具体的年月日、时分秒转换为 Date 对象,其中:
- year:表示年,为了避免错误的产生,推荐使用四位的数字来表示年份;
- month:表示月,0 代表 1 月,1 代表 2 月,以此类推;
- date:表示月份中的某一天,1 代表 1 号,2 代表 2 号,以此类推;
- hour:表示时,以 24 小时制表示,取值范围为 0 ~ 23;
- minute:表示分,取值范围为 0 ~ 59;
- second:表示秒,取值范围为 0 ~ 59;
- millisecond:表示毫秒,取值范围为 0 ~ 999。
-
var time1 = new Date(); var time2 = new Date(1517356800000); var time3 = new Date("2018/12/25 12:13:14"); var time4 = new Date(2020, 9, 12, 15, 16, 17); document.write(time1 + "<br>"); // 输出:Fri Jul 23 2021 13:41:39 GMT+0800 (中国标准时间) document.write(time2 + "<br>"); // 输出:Wed Jan 31 2018 08:00:00 GMT+0800 (中国标准时间) document.write(time3 + "<br>"); // 输出:Tue Dec 25 2018 12:13:14 GMT+0800 (中国标准时间) document.write(time4 + "<br>"); // 输出:Mon Oct 12 2020 15:16:17 GMT+0800 (中国标准时间)
Date 对象中的属性
下表中列举了 Date 属性中提供的属性及其描述
示例代码如下
var time = new Date(); Date.prototype.name = null; time.name = "JavaScript"; document.write(time.constructor + "<br>"); // 输出:function Date() { [native code] } document.write(time.name + "<br>"); // 输出:JavaScript
Date 对象中的方法
下表中列举了 Date 属性中提供的方法及其描述:
var time = new Date(); document.write(time.getDate() + "<br>"); // 输出:23 document.write(time.getDay() + "<br>"); // 输出:5 document.write(time.getFullYear() + "<br>"); // 输出:2021 document.write(time.getHours() + "<br>"); // 输出:16 document.write(time.getMonth() + "<br>"); // 输出:6 document.write(time.getTime() + "<br>"); // 输出:1627028869285 document.write(time.getUTCDate() + "<br>"); // 输出:23 document.write(time.toDateString() + "<br>"); // 输出:Fri Jul 23 2021 document.write(time.toString() + "<br>"); // 输出:Fri Jul 23 2021 16:29:57 GMT+0800 (中国标准时间) document.write(time.toLocaleDateString() + "<br>"); // 输出:2021/7/23 document.write(time.toLocaleTimeString() + "<br>"); // 输出:下午4:31:00 document.write(time.toLocaleString() + "<br>"); // 输出:2021/7/23下午4:31:00