私の理解では、UNIX タイムスタンプはミリ秒単位で解決されます。
Math.round((new Date()).getTime()); // 1383507660267
だから私が2番目の解決策を望むなら、私はそうするでしょう
Math.round((new Date()).getTime() / 1000); // 1383507729
1日の解決策を得るにはどうすればよいですか? (したがって、24時間ごとにのみ変更されます)
私の理解では、UNIX タイムスタンプはミリ秒単位で解決されます。
Math.round((new Date()).getTime()); // 1383507660267
だから私が2番目の解決策を望むなら、私はそうするでしょう
Math.round((new Date()).getTime() / 1000); // 1383507729
1日の解決策を得るにはどうすればよいですか? (したがって、24時間ごとにのみ変更されます)
夏時間のシフトに対処する必要がある場合は、(任意に) 正午の 12:00 など、特定の時間を反映するようにタイムスタンプを正規化することをお勧めします。
var daystamp = function() {
var d = new Date();
d.setHours(12);
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);
return d.getTime();
}();
これにより、生成した日の正午にタイムスタンプが得られるため、特定の暦日のいつでもタイムスタンプを取得すると、常に同じ値が得られます。1日何時間でも、日付が違えば違います。したがって、システムがタイム シフトの時間を 1 時間追加または削除しても、問題は解決しません。
どうですか...
Math.round((new Date()).getTime() / (24 * 3600 * 1000));
それは仕事をするはずです。またはさらに簡単に:
(new Date()).getTime() / (24 * 3600 * 1000);