首页 > JavaScript
阅读:18532
JS Date(时间/日期)对象
Date 对象是 JavaScript 内置的对象,通过它您可以访问计算机系统的时间,此外,Date 对象中还提供了多种用于管理、操作和格式化时间/日期的方法。
JavaScript 中提供了四种不同的方法来创建 Date 对象,如下所示:
示例代码如下:
示例代码如下:
示例代码如下:
创建 Date 对象
在开始处理时间和日期之前,我们需要先创建一个 Date 对象。与其他对象(数组对象、字符串对象等)不同,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(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 属性中提供的属性及其描述:| 属性 | 描述 |
|---|---|
| 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 对象中的方法
下表中列举了 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>"); // 输出: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
ICP备案:
公安联网备案: