0

私の理解では、UNIX タイムスタンプはミリ秒単位で解決されます。

Math.round((new Date()).getTime()); // 1383507660267

だから私が2番目の解決策を望むなら、私はそうするでしょう

Math.round((new Date()).getTime() / 1000); // 1383507729

1日の解決策を得るにはどうすればよいですか? (したがって、24時間ごとにのみ変更されます)

4

3 に答える 3

3

夏時間のシフトに対処する必要がある場合は、(任意に) 正午の 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 時間追加または削除しても、問題は解決しません。

于 2013-11-03T19:52:22.190 に答える
2

どうですか...

Math.round((new Date()).getTime() / (24 * 3600 * 1000));

それは仕事をするはずです。またはさらに簡単に:

(new Date()).getTime() / (24 * 3600 * 1000);
于 2013-11-03T19:46:08.827 に答える