JavaScript で日付・時間を扱っていて、次から次へと罠にはまったので、あとから来る人のために書き留めておく。 Date.parse が返すのは Date でなく整数 Date.parse は、世界協定時 1970 年 1 月 1 日 00:00:00 からの経過時間をミリ秒単位で返す。 Date を得るには new Date に渡す。 new Date に直接文字列渡しても同じ挙動なので、こちらのが簡潔。 msec = Date.parse("Thu, 06 Sep 2012 00:00:00 +0900"); // 1346857200000 date = new Date(msec); // Date date = new Date("Thu, 06 Sep 2012 00:00:00 +0900"); // Date