一个很奇怪的现象,关于Date

愚者只看星不看答案 2011-11-13 11:48:17
所有的书籍及文章都说到Date的构造函数中,月份的范围是0-11,0表示1月份,下面这段代码:

var d=new Date(2011,10,11);console.log(d.getFullYear() + "-" + d.getMonth());

本该是显示2011-11,但是在chrome及ie9中都显示

2011-10

这是为什么?
...全文
167 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
LYMPC 2011-11-14
  • 打赏
  • 举报
回复
使用的格式有关系
你用 var d=new Date(2011,10,11);console.log(d.getFullYear() + "-" + d.getMonth());
会把你搞蒙 因为 10 ,11,只相差1
如果用你 var d=new Date(2011,5,11);console.log(d.getFullYear() + "-" + d.getMonth());
如果用你 var d=new Date(2011,11,5);console.log(d.getFullYear() + "-" + d.getMonth());
就可以知道问题出在哪儿?

Legend1988 2011-11-14
  • 打赏
  • 举报
回复
getMonth返回的也是0-11之间的一个整数,可见http://www.w3school.com.cn/js/jsref_getMonth.asp
aa331730417 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ifandui 的回复:]
getMonth返回值才是0-11.new时候参数就是实际月份
[/Quote]+1
Acesidonu 2011-11-14
  • 打赏
  • 举报
回复
var d=new Date(2011,10,11);
为2011-11-11
hookee 2011-11-13
  • 打赏
  • 举报
回复
var d=new Date("2011/11/11"); d.getMonth()应该是10;
  • 打赏
  • 举报
回复
getMonth获得的也是0~11的数据,有什么奇怪的?
p2227 2011-11-13
  • 打赏
  • 举报
回复
可能是浏览器对于js有了新的解释吧,我这里ie6也是这样
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zell419 的回复:]

var d=new Date();
就是10 。
[/Quote]

请在ie9及chrome中你试试就知道了。
zell419 2011-11-13
  • 打赏
  • 举报
回复
var d=new Date();
就是10 。
zell419 2011-11-13
  • 打赏
  • 举报
回复
2011-10 是代表11月 。

2011-0 是1月 。
CalvinR 2011-11-13
  • 打赏
  • 举报
回复
默默不得鱼 2011-11-13
  • 打赏
  • 举报
回复
getMonth返回值才是0-11.new时候参数就是实际月份
  • 打赏
  • 举报
回复
这么多大牛给你答案,看来你的标题很吸引人哟
Mr-Jee 2011-11-13
  • 打赏
  • 举报
回复
这么多大牛给你答案,看来你的标题很吸引人哟。

我打个小广告哈,我的博客里有
http://blog.csdn.net/cj205/article/details/6159709
关于日期对象的详细介绍和一些小技巧
dencey 2011-11-13
  • 打赏
  • 举报
回复
因为Date.getMonth()返回的月份的范围也是0-11呀,很正常呀
  • 打赏
  • 举报
回复
new Date("2011/11/1"); 是采取正常的日历显示方法(美国的,英国月份在后面),月就会自动减1。
new Date(2011,10,1); 是采取内部的方式,你需要事先减1作为月的输入
  • 打赏
  • 举报
回复
因为 new Date(2011,10,11); 也是同样规则。10-11实际是11-11。

另外,你这个测试例子怎么这么傻,10和11正好差1,很容易把你自己搞晕。用2011,5,3差几个1的不就好点。

87,989

社区成员

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

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