zoukankan      html  css  js  c++  java
  • JS中Date时间设置溢出问题

    在采购商财务电子钱包中提供了可查询最近一个月数据的功能:该功能会使用JS Date类型计算新的日期。

    这里有一点需要注意:在设置日期时,date.setMonth(m);//m is from 0 to 11. 这里如果当前日期时2015年3月31日,date.setMonth(1);得到的结果是2015年3月3日。

    对于最近一个月的定义如下:

    1.上月无当日的(3月31日,2月无31日。闰年2月29也在考虑范围内)最近一个月为:当月1日~当前日。

    2.其余(上月有当日) 最近一个月为:上月当日~当前日。

    另:如下JS代码结算新日期会出错:

    var year = 2015,month = 1,d = 1;//m is from 0 to 11

    var date = new Date(); //当前日为2015年4月30.

    date.setFullYear(year);

    date.setMonth(month);//执行后日期变为2015年2月30.,2015年2月无此日期。28日为最后一天,30-28=2。延后2天得日期变为2015年3月2日。

    date.setDate(d);//日期变为2015年3月1日

    期望得到date为:2015年2月1日

    实际得到date为:2015年3月1日.

     

    同样的Date.setFullYear(),Date.setDate()都会出现时间溢出问题 

    Nothing is impossible, if you set your mind to it !
  • 相关阅读:
    10. 正则表达式匹配
    5. 最长回文子串
    板子总结
    2020: 学生查询
    解决apt-get出错
    03如何计算算法的复杂度
    ad如何从PCB中导出元件封装库
    调车遇到的问题及解决办法
    java报错与解决方法总结
    SWD下载k60
  • 原文地址:https://www.cnblogs.com/penny1141/p/4381302.html
Copyright © 2011-2022 走看看