0

プログラムが誕生してからのエポック日を追跡しようとしています。だから、私は私のプログラムを与えます:

epochProgram = 15622 // このプログラムが生まれたエポック日番号。

次に、現在の時刻を取得し、1000 で割って秒にします。次に、それを 1 日あたりの秒数 86400 で割り、エポックからの今日の日数に変換します。次に、今日のエポック番号からプログラムのエポック誕生日番号を引いて、プログラムの誕生から何日経過したかを調べます。

dateObj = new Date();   
 var biz = parseInt(dateObj.getTime()/1000));
  biz = biz/86400-epochProgram;

数日が経過し、biz=6.30 としましょう。私の問題は次のとおりです。午前 12:00 は 6.30、午後 5:00 は biz=7.0、午後 11:00 は biz=7.2 です。

10 分の 1 の .# 桁が機能するのはなぜですか? .3 は言い始めで、.2 は一日の終わりです。これを修正して、正しい日単位を取得できるようにするにはどうすればよいですか?

PS: これは現地の太平洋時間です。

4

1 に答える 1

2

タイムゾーン オフセットを減算します。

var biz = (dateObj.getTime() - dateObj.getTimezoneOffset() * 6e4) / 1000 >>> 0;
于 2012-10-15T07:01:27.390 に答える