除了前两天介绍的Object、Array类型,Date应该就是JS中最常用的引用类型了
先介绍一下Date类型,该类型使用在Java的 java.until.Date 类的基础上构建的
使用UTC 1970年一月一日零时为基准的毫秒数来保存时间
Date的创建
var now = new Date();
以上方式会自动获取当前的时间,如果需要指定的时间,那么则需要对 Date 构造函数传入参数(毫秒表示)
而为了简化计算过程,Date对象为我们提供以下方法
1.Date.parse() 该方法接收一个表示日期的字符串,由于ECMA没有定义该方法应该接收哪种日期格式(IE8以上的浏览器支持 YYYY-MM-DDTHH:mm:ss.sssZ),所以该方法的行为因实现、地区而异(若该字符串不能解析为日期,则返回NaN,若能解析则返回毫秒数)
2.Date.UTC() 接收参数 1. 年份 2. 月份(基于0) 3.月中的哪一天 4.小时数 5.分钟 6.秒 7.毫秒 这些参数中只有1,2是必需的,其它参数若缺省则默认为0
两者的区别在于,parse是基于当前时区的
而 Date() 构造函数的行为更像是两者的结合,它可以解析日期字符串,不过创建的时区却是基于本机的时区
创建当前时间戳
var time = Date.now(); //ES5添加,也就是IE8+ var time = +new Date(); //在支持上方的前提下 var time = new Date(); // 兼容性好
Date对象的方法
- 继承自Object的方法
- 和所有引用类型一样,有继承自Object的几个方法,但具体功能又有所不同
- toLocaleString() 会按照浏览器设定的地区,返回与之相适应的日期格式的日期(该方法在每个浏览器的的表现大相径庭所以不推荐用于表示日期)
- toString() 返回带有时区信息的日期
- valueOf() 返回毫秒数
- 格式化方法
- toDateString() 以特定格式显示星期几、月、日、年
- toTimeString() 以特定格式显示时、分、秒、时区
- toLocaleDateString() 以特定地区格式显示星期几、月、日、年
- toLocaleTimeString() 以特定地区格式显示时、分、秒、时区
- toUTCString() 以特定格式显示完整UTC信息
- PS. 到目前为止介绍的方法除了valueOf 之外 没有一个方法可以向用户界面显示统一的日期信息,上述方法都会因为浏览器和地区的原因有所差别
- 自定义日期格式
关于Date对象的部分就介绍到这里,明天介绍正则对象,尽请期待。