我有一個包含格式爲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