Date
1 创建日期对象
-
Date(),Date类型的构造函数
在不给 Date 构造函数传参数的情况下,创建的对象将保存当前日期和时间
let now = new Date(); // Tue Dec 14 2021 09:51:47 GMT+0800 (中国标准时间)- 要基于其他日期和时间创建日期对象,必须传入其毫秒表示(1970 年 1 月 1 日午夜之后的毫秒数)
let someDate = new Date(597254400000); // Mon Dec 05 1988 00:00:00 GMT+0800 (中国标准时间)- 如果参数是字符串,会后台调用Date.parse()
let someDate = new Date("May 23, 2019"); // Mon Dec 05 1988 00:00:00 GMT+0800 (中国标准时间) -
Date.parse(),字符串日期转毫秒
- 参数是表示日期的字符串参数,参数支持如下格式
- “月/日/年”,如"5/23/2019";
- “月名 日, 年”,如"May 23, 2019";
- 返回值是这个日期距离1970 年 1 月 1 日午夜的毫秒数
let date1 = Date.parse('12/5/1969'); // -2361600000 let date2 = Date.parse('12/5/1988'); // 597254400000 - 参数是表示日期的字符串参数,参数支持如下格式
-
Date.now(),返回表示方法执行时日期和时间的毫秒数,可以用在代码分析中
// 起始时间 let start = Date.now(); // 调用函数 doSomething(); // 结束时间 let stop = Date.now(), result = stop - start; -
Date.UTC(),也返回日期的毫秒表示,和Date.parse的参数不同,也会被Date()隐式调用
- 参数只传年、月,默认日为1,可以传年月日时分秒,月从0开始
- 返回值是GMT时间,谷歌浏览器会转成中国标准时间
let y2k = new Date(Date.UTC(2000, 0)); // Sat Jan 01 2000 08:00:00 GMT+0800 (中国标准时间) let allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55)); // Thu May 05 2005 08:55:55 GMT+0800 (中国标准时间)- Date(),隐式调用
let y2k = new Date(2000, 0); // Sat Jan 01 2000 08:00:00 GMT+0800 (中国标准时间) -
valueOf,日期可以比大小,Date对象的valueOf()会返回毫秒数
2 日期/时间方法
| 方法名 | 返回值 |
|---|---|
| getTime() | 返回日期的毫秒表示;与 valueOf()相同 |
| setTime(milliseconds) | 设置日期的毫秒表示,从而修改整个日期 |
| getFullYear() | 返回 4 位数年(即 2019 而不是 19) |
| setFullYear(year) | 设置日期的年(year 必须是 4 位数) |
| getMonth() | 返回日期的月(0 表示 1 月,11 表示 12 月) |
| setMonth(month) | 设置日期的月(month 为大于 0 的数值,大于 11 加年) |
| getDate() | 返回日期中的日(1~31) |
| setDate(date) | 设置日期中的日(如果 date 大于该月天数,则加月) |
| getDay() | 返回 UTC 日期中表示周几的数值(0 表示周日,6 表示周六) |
| getHours() | 返回日期中的时(0~23) |
| setHours(hours) | 设置日期中的时(如果 hours 大于 23,则加日) |
| getMinutes() | 返回日期中的分(0~59) |
| setMinutes(minutes) | 设置日期中的分(如果 minutes 大于 59,则加时) |
| getSeconds() | 返回日期中的秒(0~59) |
| setSeconds(seconds) | 设置日期中的秒(如果 seconds 大于 59,则加分) |
