美文网首页Web 前端开发 让前端飞
JS中怎样使用Date对象加减日期

JS中怎样使用Date对象加减日期

作者: DeppWang | 来源:发表于2018-01-07 22:22 被阅读0次

    这一周工作主要是写js,遇到使用JS加减时间的问题,觉得需要总结记录一下。为了下次遇到这种问题时查阅方便,也为了更好的理解记忆。

    var date = new Date(2018,0,7)//新建一个时间,用于表示2018年1月7日。
    

    为什么用0表示1呢,这是一个js的设计缺陷,0-11表示1-12月

    日期相加

    如果date要使用多次,要将这个日期赋给一个temp变量,操作temp完成计算。

    var temp = new Date(date);
    

    例1:加一个具体时间-> x年y月z日

    temp.setFullYear(temp.getFullYear() + x);//注意是FullYear
    temp.setMonth(temp.getMonth() + 1 + y);//由于设计缺陷,要在设置月份的时候就加1
    temp.setDate(temp.getDate() + z);//注意是Date
    
    $("#year").val(temp.getFullYear());
    $("#month").val(temp.getMonth());//如果setMonth()中没有加1,那么在这加1
    $("#day").val(temp.getDate);
    

    注意,一定顺序是setFullYear()->setMonth()->setDate,不然时间相加会不准确。

    日期相减

    temp.getTime(); //1515254400000,以Number形式表示的时间戳
    

    计算date1和date2之间的天数差值

    var timesDiff = Math.abs(date1.getTime() - date2.getTime);
    var diffDays = Math.ceil(timesDiff / (1000 * 60 * 60 * 24));//向上取整
    

    但是如果要对天数进增减,那只能先将在setDate()中增减,因为你在获取之后增减可能出现0-31以外的数

    关于Date的其他属性,可以查看廖雪峰的JS教程

    相关文章

      网友评论

        本文标题:JS中怎样使用Date对象加减日期

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