码迷,mamicode.com
首页 > Web开发 > 详细

JS中Date时间设置溢出问题

时间:2015-03-31 17:46:35      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

在采购商财务电子钱包中提供了可查询最近一个月数据的功能:该功能会使用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()都会出现时间溢出问题 

JS中Date时间设置溢出问题

标签:

原文地址:http://www.cnblogs.com/penny1141/p/4381302.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!