最近在开发中使用到了js的Date对象,关于日期格式的转换、比较大小等,自己并不是很熟练,于是决定去系统了解一下,于是写下这篇博客,对了解的知识进行一个总结。
本篇博客一共分为以下几个部分:
- 实例化Date对象的几种方式
- 日期的比较
- 日期格式的转化
- 时间格式转换(时区)
实例化Date对象的几种方式
new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
一共有四种实例化Date对象的方式。四种方法的返回值类型都是一样的,都是如下格式
Mon Sep 09 2019 21:02:45 GMT+0800 (中国标准时间)
第一种,不传参。
第二种,传入时间戳。
第三种,传入字符串。【备注:关于这种方式,官方并不推荐,具体原因可以参考以下链接:http://ju.outofmemory.cn/entry/362818】
第四种,分别提供日期与时间的每一个成员,其中年月必须填写
日期的比较
一开始,我以为只有将时间转换成时间戳格式才能够比较大小,后来发现其实实例化的Date对象本身就可以
日期格式的转化
注意,格式转换在原生的Date对象中是没有现成的方法的,需要自己封装一套方法。当是在ext环境下时,就可以使用其封装好的format方法,至于具体怎样使用,还需要查看ext官方文档
时间格式转换(时区)
参考链接
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date#%E5%AE%9E%E4%BE%8B%E5%8C%96Date%E5%AF%B9%E8%B1%A1
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date/parse