Javascript高级编程学习笔记(14)—— 引用类型(3)Date类型

除了前两天介绍的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 之外 没有一个方法可以向用户界面显示统一的日期信息,上述方法都会因为浏览器和地区的原因有所差别
  • 自定义日期格式
    • 一般来说在前端开发的过程中,经常会根据项目需求自定义日期格式
    • 所以会用到下面的方法来自定义日期格式
    • 由于方法很多,网上也很容易就能找到,这里就直接上图了,望见谅(没必要重复造轮子)
    • 详情见W3cMDN
    • PS. 顺带一提,个人认为W3C适合查一些基础的用法,MDN相对来说要详细许多,如果两者都无法满足,请大佬自行FQ,看看外面的世界

       

    

关于Date对象的部分就介绍到这里,明天介绍正则对象,尽请期待。

 

posted @ 2018-12-17 10:02  巽秋  阅读(147)  评论(0编辑  收藏  举报