下文笔者讲述Date(日期/时间)对象的功能,属性,方法简介说明,如下所示
Date对象简介
Date对象:
是JavaScript中内置对象
使用此对象可访问计算机系统的时间
Date对象对外提供操作日期时间的多种方法
创建Date对象的方法
JavaScript中可以使用以下四种方法创建Date对象
var time = new Date();
var time = new Date(milliseconds);
var time = new Date(datestring);
var time = new Date(year, month, date[, hour, minute, second, millisecond]);
参数说明如下:
不提供参数:
当调用Date()函数时不提供参数,则创建一个包含当前时间和日期Date对象
milliseconds(毫秒):
当使用一个数值作为参数
则会将这个参数作为一个以毫秒为单位的时间值
并返回自 1970-01-01 00:00:00 起,经过指定毫秒数的时间
如:
new Date(8000) 会返回一个 1970-01-01 00:00:00 经过8000 毫秒之后的时间
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(1616345700000);
var time3 = new Date("2023/2/27 17:10:17");
var time4 = new Date(2023,2, 27, 17, 10, 17);
document.write(time1 + "<br>");
document.write(time2 + "<br>");
document.write(time3 + "<br>");
document.write(time4 + "<br>");
Date对象中属性
| 属性 |
备注 |
| constructor |
返回创建 Date 对象的原型函数 |
| prototype |
通过该属性您可以向对象中添加属性和方法 |
例
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对象中方法
| 方法 |
备注 |
| getDate() |
从 Date 对象返回一个月中的某一天 (1 ~ 31) |
| getDay() |
从 Date 对象返回一周中的某一天 (0 ~ 6) |
| getMonth() |
从 Date 对象返回月份 (0 ~ 11) |
| getFullYear() |
从 Date 对象返回四位数字的年份 |
| getYear() |
已废弃,请使用 getFullYear() 方法代替 |
| getHours() |
返回 Date 对象的小时 (0 ~ 23) |
| getMinutes() |
返回 Date 对象的分钟 (0 ~ 59) |
| getSeconds() |
返回 Date 对象的秒数 (0 ~ 59) |
| getMilliseconds() |
返回 Date 对象的毫秒(0 ~ 999) |
| getTime() |
返回 1970 年 1 月 1 日至今的毫秒数 |
| getTimezoneOffset() |
返回本地时间与格林威治标准时间 (GMT) 的分钟差 |
| getUTCDate() |
根据通用时间从 Date 对象返回月中的一天 (1 ~ 31) |
| getUTCDay() |
根据通用时间从 Date 对象返回周中的一天 (0 ~ 6) |
| getUTCMonth() |
根据通用时间从 Date 对象返回月份 (0 ~ 11) |
| getUTCFullYear() |
根据通用时间从 Date 对象返回四位数的年份 |
| getUTCHours() |
根据通用时间返回 Date 对象的小时 (0 ~ 23) |
| getUTCMinutes() |
根据通用时间返回 Date 对象的分钟 (0 ~ 59) |
| getUTCSeconds() |
根据通用时间返回 Date 对象的秒钟 (0 ~ 59) |
| getUTCMilliseconds() |
根据通用时间返回 Date 对象的毫秒(0 ~ 999) |
| parse() |
返回1970年1月1日午夜到指定日期(字符串)的毫秒数 |
| setDate() |
设置 Date 对象中月的某一天 (1 ~ 31) |
| setMonth() |
设置 Date 对象中月份 (0 ~ 11) |
| setFullYear() |
设置 Date 对象中的年份(四位数字) |
| setYear() |
已废弃,请使用 setFullYear() 方法代替 |
| setHours() |
设置 Date 对象中的小时 (0 ~ 23) |
| setMinutes() |
设置 Date 对象中的分钟 (0 ~ 59) |
| setSeconds() |
设置 Date 对象中的秒钟 (0 ~ 59) |
| setMilliseconds() |
设置 Date 对象中的毫秒 (0 ~ 999) |
| setTime() |
以毫秒设置 Date 对象 |
| setUTCDate() |
根据通用时间设置 Date 对象中月份的一天 (1 ~ 31) |
| setUTCMonth() |
根据通用时间设置 Date 对象中的月份 (0 ~ 11) |
| setUTCFullYear() |
根据通用时间设置 Date 对象中的年份(四位数字) |
| setUTCHours() |
根据通用时间设置 Date 对象中的小时 (0 ~ 23) |
| setUTCMinutes() |
根据通用时间设置 Date 对象中的分钟 (0 ~ 59) |
| setUTCSeconds() |
根据通用时间设置 Date 对象中的秒钟 (0 ~ 59) |
| setUTCMilliseconds() |
根据通用时间设置 Date 对象中的毫秒 (0 ~ 999) |
| toSource() |
返回该对象的源代码 |
| toString() |
把 Date 对象转换为字符串 |
| toTimeString() |
把 Date 对象的时间部分转换为字符串 |
| toDateString() |
把 Date 对象的日期部分转换为字符串 |
| toGMTString() |
已废弃,请使用 toUTCString() 方法代替 |
| toUTCString() |
根据通用时间,把 Date 对象转换为字符串 |
| toLocaleString() |
根据本地时间格式,把 Date 对象转换为字符串 |
| toLocaleTimeString() |
根据本地时间格式,把 Date 对象的时间部分转换为字符串 |
| toLocaleDateString() |
根据本地时间格式,把 Date 对象的日期部分转换为字符串 |
| UTC() |
根据通用时间返回 1970 年 1 月 1 日 到指定日期的毫秒数 |
| valueOf() |
返回 Date 对象的原始值 |
例
var time = new Date();
document.write(time.getDate() + "<br>");
document.write(time.getDay() + "<br>");
document.write(time.getFullYear() + "<br>");
document.write(time.getHours() + "<br>");
document.write(time.getMonth() + "<br>");
document.write(time.getTime() + "<br>");
document.write(time.getUTCDate() + "<br>");
document.write(time.toDateString() + "<br>");
document.write(time.toString() + "<br>");
document.write(time.toLocaleDateString() + "<br>");
document.write(time.toLocaleTimeString() + "<br>");
document.write(time.toLocaleString() + "<br>");