##実行環境1: chromeの開発者ツール?F12押したら出てくるやつ
まずは、1秒手前の正常?な時間をUnixTimeStampで表示してみる。
new Date('2015/07/01 08:59:59') / 1000
結果
1435708799
次に、2015-07-01 08:59:60をDateTime型にパースしてみる。
new Date('2015/07/01 08:59:60');
new Date('2015/07/01 08:59:60') / 1000;
結果
Invalid Date
NaN
次に、2015-07-01 08:59:60のUnixTimeStampをDateTime型に入れるとどう表記されるか見てみる。
new Date(1435708800 * 1000);
結果
Wed Jul 01 2015 09:00:00 GMT+0900 (東京 (標準時))
ちょっと気になって前回のデータ入れてみる。
new Date('2012/07/01 08:59:60')
結果
Invalid Date
##実行環境2: node.js v0.10.25 On ubuntu 14.04
まずは、1秒手前の正常?な時間をUnixTimeStampで表示してみる。
new Date('2015/07/01 08:59:59') / 1000
結果
1435708799
次に、2015-07-01 08:59:60をDateTime型にパースしてみる。
new Date('2015/07/01 08:59:60');
new Date('2015/07/01 08:59:60') / 1000;
結果
Invalid Date
NaN
次に、2015-07-01 08:59:60のUnixTimeStampをDateTime型に入れるとどう表記されるか見てみる。
new Date(1435708800 * 1000);
結果
Wed Jul 01 2015 09:00:00 GMT+0900 (JST)
ちょっと気になって前回のデータ入れてみる。
new Date('2012/07/01 08:59:60')
結果
Invalid Date
まぁそりゃそうか・・・っていう感じの結果。
ブラウザは一種類しか試してないけど、node.jsでも同じ動作。
timestampで扱っている場合は大丈夫。
59分60秒のtimestampを9時としてしまうが、1秒ぐらいの差はそんなに問題ではないような。
当日は9時丁度に終わるイベントとかがなければ問題になることはなさそう。
ただ、文字列で『2015-07-01 08:59:60』をパースするとエラーでるので、node.jsは気をつけたほうがいいかな。すぐ落ちるし。