我有一个包含格式为YYYY-MM-DD
的日期的对象。这个javascript日期解析有什么问题?为什么js恨8号?
我正在提取各种年,月和日整数,所以我可以将它们发送到不同的API
。
这里是我的方法的例子,使用substr()
演示:http://jsfiddle.net/AppSynergy/tELsw/
OK,它的工作原理。不好了! - 它没有 - 不完全......第三个元素有什么问题,其中4月8日的“08”决定为0?
如果我将“08”更改为另一个整数,例如“03”,没关系。但“08”导致问题..
这一个是让我发疯 - 怎么了?
如果你能发现它,你应该得到冰淇淋。
尝试在看看这个问题: http://stackoverflow.com/questions/850341/workarounds-for-javascript-parseint-octal-bug – Bogdan
'08'被解析为八进制,而不是十进制。这就是为什么我们应该用parseInt()'来使用基数。 –
有趣的是,IE9是我测试的唯一浏览器,它遵循[ES5.1规范正确](http://ecma-international.org/ecma-262/5.1/#sec-15.1.2.2)和'parseInt( “08”)'result in'8' – Esailija