下文笔者讲述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>");