Date 对象,是操作日期和时间的对象。
Date 为内置的构造函数, 通过 new Date () 来获取当前本地日期与时间
const time = new Date console.log(time )//Mon Nov 05 2018 15:20:49 GMT+0800
传参
传递Number 将从 '1970/01/01 00:00:00' 为起点,开始叠加的毫秒数,传入负值将倒退。
time(1000)//Thu Jan 01 1970 08:00:01 GMT+0800 (中国标准时间) time(-1000)//Thu Jan 01 1970 07:59:59 GMT+0800 (中国标准时间)
传递日期格式字符串 直接显示对应日期时间
字符串的格式主要有两种:
- yyyy/MM/dd HH:mm:ss (推荐):若省略时间,返回的 Date 对象的时间为 00:00:00。
- yyyy-MM-dd HH:mm:ss :若省略时间,返回的 Date 对象的时间为 08:00:00(加上本地时区)。此字符串在IE中会转换失败!
time('2018-12-31')//Mon Dec 31 2018 08:00:00 GMT+0800 (中国标准时间) time('2018/12/1 12:00:00')//Sat Dec 01 2018 12:00:00 GMT+0800 (中国标准时间)
方法
Date 对象的方法主要分为2种形式:本地时间和 UTC 时间。
-
getFullYear() :返回四位数字年份。
-
getMonth() :返回月份值。从0开始,所以真实月份=返回值+1 。
-
getDate() :返回月份中的日期值;值的范围1~31 。
-
getHours() :返回小时值(0 ~ 23)。
-
getMinutes() :返回分钟值(0 ~ 59)。
-
getSeconds() :返回秒数值 (0 ~ 59)。
-
getMilliseconds() :返回毫秒值(0 ~ 999)。
-
getDay() :返回星期值;0为星期天,1为星期一、2为星期二,依此类推
- getTime() :返回 Date 对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00') 。
- toLocaleString() :根据本地时间把 Date 对象转换为字符串,并返回结果。
- toLocaleDateString():方法可根据本地时间把 Date 对象的日期部分转换为字符串。
- getTimezoneOffset() :返回格林威治时间和本地时间之间的时差,以分钟为单位。
- toLocaleTimeString(): 方法可根据本地时间把 Date 对象的时间部分转换为字符串。
- valueOf() 方法返回 Date 对象的原始值。
new Date().getFullYear()//2018 年 new Date().getMonth()//10 月 (月份+1 实际为11) new Date().getDate()//5 日 new Date().getHours()//16 时 new Date().getMinutes()//2 分 new Date().getSeconds()//58 秒 new Date().getMilliseconds()//940 毫秒 new Date().getDay()//1 //星期 new Date().getTime()//1541405023106 // 从 '1970/01/01 00:00:00' 到该时间的毫秒 new Date().getTimezoneOffset()/60 //-8 格林威治时间与本地时间差 new Date(1543636820000).toLocaleString() //"2018/12/1 下午12:00:20" 格式化 new Date('2018/12/1 12:00:00').valueOf()//1543636800000 与getTime方法类似 new Date('2018/12/1 12:00:00').toLocaleDateString()//"2018/12/1" 日期格式化 new Date('2018/12/1 12:00:00').toLocaleTimeString()//"下午12:00:00" 时间格式
静态方法
Date.now() //无参数 获取当前时间以毫秒形式返回与getTime()类似 区别:不需要 new Date Date.parse('2018') // 参数: 日期格式的字符串 将日期转化为毫秒 以'1970/01/01 08:00:00'开始 (格林时间+本地时区) 注意!!! 后3位将置 0 //1514764800000
+ new Date() 可以返回毫秒数 与getTime 方法类似