我从字符串中获取日期,解析它以获取日,月和年组成者并使用它们来实例化Date对象.
我想要实现的是将日期增加一天.一切正常,只是setDate方法坚持有时会返回无效日期...
例如,如果我在2011年2月28日添加1天,它将在2011年2月29日返回...实际上不存在的日期.
这是JavaScript的原生日期/时间API的错误/限制,还是我只是做错了什么?我发现在没有检查日期的有效性的情况下很难相信它的行为方式.
var myDate = new Date(2011, 2, 28);
alert(myDate);
myDate.setDate(myDate.getDate() + 1);
alert(myDate); // 29 February 2011 !
Run Code Online (Sandbox Code Playgroud)
谢谢.
mpl*_*jan 10
你不是二月 - 第二个月是3月
JS月份基于0
var myDate = new Date(2011, 1, 28); // 28th of Feb
alert(myDate);
myDate.setDate(myDate.getDate() + 1);
alert(myDate); // 1st of March 2011 !
Run Code Online (Sandbox Code Playgroud)
PS:如果您在使用日期时可能会遇到一些问题,那么您可能会var d = new Date()在d.setHours(0,0,0,0)以后的时间内进行规范化
| 归档时间: |
|
| 查看次数: |
7014 次 |
| 最近记录: |