在ES中,引用类型是把数据和功能组织到一起的结构,引用值是某个特定引用类型的实例。
1.Date
// 创建日期对象,就使用new操作符来调用Data构造函数:
let now = new Date();
// 无参数时,返回的是当前日期和时间
Date.parse()和Date.UTC()可以自定义时间
Date.parse()方法接受一个表示日期的字符串参数,尝试将这个字符串转换为表示该日期的毫秒数,格式如下:
月/日/年 eg. “5/23/2019”
月名 日,年 eg.“May 23, 2019”
周几 月名 日 年 时:分:秒 时区 eg.“Tue May 23 2019 00:00:00 GMT-0700”
YYYY-MM-DDTHH:mm:ss:sssZ eg.2019-05-23T00:00:00 此方法适合于兼容ES5的实现
let someDate = new Date(Date.parse("May 23, 2019"));
// 也可以
let someDate = new Date("May 23, 2019");
在Date.UTC()中,参数:年,月(0-11),日(1-31),时(0-23),分,秒,毫秒。只有年月是必须的,默认是1日,其他默认为0
// GMT时间2000年1月1日零点
let y2k = new Date(Date.UTC(2000,0));
// GMT时间2005年5月5日下午5点55分55秒
let allFives = new Date(Date.UTC(2005,4,5,17,55,55));
若不填Date.UTC()时,也可以被隐式调用,但创建的是本地日期,不是GMT日期
// 起始时间
let start = Date.now();
// 调用函数
dosomething();
// 结束时间
let stop = Date.now();
res = stop - start;
2 Date继承的方法
Date类型重写了toLocalString(),toString(),valueOf()方法
1.toLocalString()返回与浏览器运行的本地环境一致的日期和时间。
2/1/2019 12:00:00 AM
2.toString()返回带时区信息的日期和时间
Thu Feb 1 2019 00:00:00 GMT-0800
3.valueOf()返回日期的毫秒表示
let date1 = new Date(2019,0,1)
let date2 = new Date(2019,1,1)
console.log(date1 < date2) //true
3.日期格式化方法
- toDateString()显示日期中的周几、月、日、年
- toTimeString()显示日期中的时、分、秒和时区
- toLocalDateString()显示日期中的周几、月、日、年
- toLocalTimeString()显示日期中的时、分、秒
- toUTCString()显示完整的UTC日期
这些方法都会因浏览器而异,因此不能用于在用户界面上一致的显示日期。
4.日期/时间组件方法
getTime() 返回日期的毫秒表示
详见p106