秒をパラメーターとして取り、時間形式の文字列を返すこの関数があります。
var secondstotime = function(secs) {
var t = new Date(1970, 0, 1);
t.setSeconds(secs);
var s = t.toTimeString().substr(0, 8);
if (secs > 86399) {
s = Math.floor((t - Date.parse("1/1/70")) / 3600000) + s.substr(2);
}
return s;
}
Chrome と Mozilla では 2 つの異なる結果が得られます。Chrome が正しいことはわかっていますが、Mozilla が時間文字列に 1 時間を追加し続ける理由がわかりません。
例えば:
console.log(secondstotime(20000));
Chrome が私に与えてくれ05:33:20
、Mozilla が私に与えてくれる06:33:20
問題が何であるかがわかりません。コードに互換性がない場合はどうなりますか?