js 日期问题

SambaGao 2012-05-31 03:39:40
var startDate = new Date('2012', '6', '1');
alert(startDate); 输出以后是 2012 6 1.
var endDate = new Date('2012', '5', '31');
alert(endDate); 输出以后是 2012 6 1.

请看红色部分,为什么输出一样的呢?
...全文
121 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
包菜大GG 2012-05-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
var startDate = new Date('2012', '6', '1');
alert(startDate); 输出以后是 2012 6 1.
var endDate = new Date('2012', '5', '31');
alert(endDate); 输出以后是 2012 6 1.

请看红色部分,为什么输出一样的呢?
[/Quote]
js中以0-11表示1到12月份。。你这里弹出看到的显示是都是Sun Jul 01 2012。。就是说都是7月了。你设置的5.31实际上面设置的就是6月31,但是6月没有31 。所以就都是7月1号咯。。

我想应该是这么回事吧
likeajin 2012-05-31
  • 打赏
  • 举报
回复
2 3楼,你们在说什么啊……还有楼主也弄错了
var startDate = new Date('2012', '6', '1');
var endDate = new Date('2012', '5', '31');

两个都是2012-07-01

月份是用0到11表示1到12月。

endDate设置的是2012-06-31.因为6月是没有31号的,所以会自动转换为符合的日期。并不是设置为当月1日!
泪梦红尘 2012-05-31
  • 打赏
  • 举报
回复
var endDate = new Date('2012', '5', '31');
//实际上设置的是2012年6月31日,6月没有31日,所以这个天数值是非法的,js会自动设置为当月1日
乌镇程序员 2012-05-31
  • 打赏
  • 举报
回复
var endDate = new Date('2012', '5', '31');
//实际上设置的是2012年6月31日,6月没有31日,所以这个天数值是非法的,js会自动设置为当月1日
乌镇程序员 2012-05-31
  • 打赏
  • 举报
回复
js中以0-11表示1到12月份。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧