IEでは’2013-07-01’のようなISO8601形式の日付をparseできない

‘2013-07-01’のような形式(いわゆるISO8601形式)のデータはよくあるが、これをIEでnew Date(‘2013-07-01’)とやるとNaNになる。

IE6^8で、
【OK】new Date("2009/08/11 08:14:45");
【NG】new Date("2009-08-11 08:14:45");

なので以下のようにreplaceしてやればよい。

new Date("2009-08-11").replace('-','/');

↑嘘。
上記は最初の1マッチしか変換しない。

以下のように正規表現でマッチした文字全てを置き換える。

new Date("2009-08-11").replace(/-/g,'/');

あわせて読みたい

コメントを残す