如何解决函数“ New Date”做了奇怪的事情
| 我注意到jQuery函数New Date()有点奇怪。我已经找到了解决此问题的方法,因此不需要帮助。我只想了解为什么这样做。 我有一个功能,可以执行以下操作:new Date(parseInt(y),parseInt(m)-1,parseInt(d))
实际数字是:y= \'2011\',m= \'07\',d=\'01\'
。这可以正常工作,它返回日期1/7/2011。但是当我使用m= \'08\'
时,它会返回“ Wed Dec 01 2010”
我将其跟踪到parseInt函数。 how3ѭ但parseInt(\'08\') = 0
有谁知道为什么会这样吗?
解决方法
First New Date()不是jQuery函数,而是纯JavaScript。
不幸的是,JavaScript从C语言借来了很多东西,在C语言中,您可以在其前面加上一个零来编写八进制数。八进制数字,数字从0到7。
最好的做法是说您拥有十进制数字,而不是八进制数字。
始终输入基数:parseInt(y,10),因此您的代码将是:
new Date(parseInt(y,10),parseInt(m,10)-1,parseInt(d,10))
有关parseInt的更多信息:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt
,试试new Date(parseInt(y,10))
如果字符串以零开头,则parseInt
将以8为底。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。