相关疑难解决方法(0)

javascript正在创建错误月份的日期

使用Mozilla Firefox Firebug:

var myDate = new Date(2012, 9, 23, 0,0,0,0);
myDate;
Run Code Online (Sandbox Code Playgroud)

日期{Tue Oct 23 2012 00:00:00 GMT-0400(东部夏令时)}

为什么javascript用错误的月份创建日期?

javascript

52
推荐指数
2
解决办法
2万
查看次数

用数字创建日期(新日期(2012年,03年,...)给出错误的月份(+1)

当创建一个new Date使用号码为部分对象,我回来的值精确1个月未来我把在"月"的价值.

new Date(2012, 05, 17, 00, 00, 00)
Sun Jun 17 2012 00:00:00 GMT+0800 (HKT)  // june?!
Run Code Online (Sandbox Code Playgroud)

但是,正常解析完全相同的字符串会返回正确的时间:

new Date("2012-05-17 00:00:00")
Thu May 17 2012 00:00:00 GMT+0800 (HKT)
Run Code Online (Sandbox Code Playgroud)

我在ie/ff/chrome中得到了相同的结果.删除小时/分钟/秒没有任何效果.我可以通过在设置月份之前减去一个来解决它,但我只是改为将日期写为字符串.

编辑: 字符串解析在IE中不起作用.我不知道我做了什么,但我发誓我做了那件事.多数民众赞成.为什么我首先避免它.我现在转而使用moment.js.

啊,现在我明白了.就像常规的java日期一样,我很少编写代码,甚至很少,甚至总是用库(joda等).无论如何,这是多么可怕的想法.以下是双关语问题:为什么Java Calendar中的1月 0月

为什么会这样?

javascript

10
推荐指数
1
解决办法
4478
查看次数

如果day为01,则Javascript日期返回错误的月份

我试图从日期字符串中获取月份,只要该日不是该月的第一天(01),这就可以正常工作.如果该日是第一天,则返回上个月:

<!DOCTYPE html>
<html>
<body>
<p>Click the button to display the month.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>

<script>
function myFunction() {
    var str="2014-12-01"
    var d = new Date(str); 
    var m = d.getMonth()+1;
    document.getElementById("demo").innerHTML = m;
}
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

返回:11应该返回:12

如果日期字符串是2013-8-01,那么将返回7,当它应该是8.在"getMonth()"之后没有"+1",那么将返回6而不是7.

javascript date

4
推荐指数
2
解决办法
5179
查看次数

标签 统计

javascript ×3

date ×1