前端基础:H5、CSS3、JS

JavaScript之Date对象

2019-04-19  本文已影响0人  js_hcl

一、创建日期对象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);月份要+1
  • getDate() 返回日期(1 ~ 31);
  • getDay() 返回星期(0 ~ 6);星期天为0
  • getHours() 返回时钟(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天前的日期

其它类似
上一篇 下一篇

猜你喜欢

热点阅读