一、创建日期对象Date
1. 直接创建
new Date();//Date 对象会自动把当前日期和时间保存为其初始值。 等价于new Date(Date.now());
2. 传参创建
时间戳
new Date(1293879600000); //时间戳:当前时间到1970年1月1日00:00:00 UTC对应的毫秒数
时间字符串
//所支持的字符串格式需要满足[RFC2822标准]或者[ISO 8601标准] RFC2822 标准日期字符串:YYYY/MM/DD HH:MM:SS 区分:可以用 / 也可以用 - ISO 8601标准日期字符串: YYYY-MM-DDThh:mm:ss; 区分:T 其实就是区分RFC2822或ISO 8601 区分:只能使用- 区分:格式必须是满位的 //RFC2822 格式 new Date('2019/4/20');//Sat Apr 20 2019 00:00:00 GMT+0800 (中国标准时间) new Date('2019/4/20 12:14');//Sat Apr 20 2019 12:14:00 GMT+0800 (中国标准时间) new Date('2019/4/20 12:14:30');//Sat Apr 20 2019 12:14:30 GMT+0800 (中国标准时间) //ISO8601 格式 new Date('1992-02-13')//这种其实是RFC2822标准 new Date('2019-04-20T12:14');//Sat Apr 20 2019 12:14:00 GMT+0800 (中国标准时间) new Date('2019-04-20T12:14:30');//Sat Apr 20 2019 12:14:30 GMT+0800 (中国标准时间)
3. 总结
- 创建日期对象:
语法:new Date([stringDate/time]);
- 不传参,则会自动把当前日期和时间保存为其初始值
- 传参,则移传入的
stringDate
或时间戳
转化为日期对象
二、Date静态方法及实例方法
1. 静态方法
now()
:返回时间戳:当前时间到1970年1月1日00:00:00 UTC对应的毫秒数parse()
:不建议使用,推荐手动解析2. 实例方法,以get为例
getFullYear()
返回年份;getMonth()
返回月份 (0 ~ 11
);月份要+1getDate()
返回日期(1 ~ 31);getDay()
返回星期(0 ~ 6
);星期天为0getHours()
返回时钟(0 ~ 23);getMinutes()
返回分钟(0 ~ 59);getSeconds()
返回秒数(0 ~ 59)getMilliseconds()
返回毫秒(0 ~ 999)getTime()
对比now(),这个方法是把日期对象转化为时间戳
如果let date=new Date();则date.getTime()===Date.now();- 对象都有的方法:
valueOf()、toString()
date.valueOf();//等同于getTime() date.toString();//to String
三、技巧
日期对象可以直接 + -
,会调用valueOf()在原来时间上,+-几天、几月、几年等
eg: //加上几天 let date=new Date(); date.setDate(date.getDate+15);//15天后的日期 date.setDate(date.getDate-15);//15天前的日期 其它类似
网友评论