JavaScript之Date对象

作者: js_hcl | 来源:发表于2019-04-19 13:59 被阅读0次

    一、创建日期对象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天前的日期
    
    其它类似
    

    相关文章

      网友评论

        本文标题:JavaScript之Date对象

        本文链接:https://www.haomeiwen.com/subject/gozfgqtx.html