私は今朝ずっとjavascriptsのタイムスタンプをいじっています。実行して無効なタイムスタンプを取得し続ける
today = (new Date()).setHours(0,0,0,0)
またtoday = (new Date()).getTime()
これらの2つの出力1338930000000
と1338978151748
。
これは単なるchromejsエンジンのエラーだと思いましたが、Firefoxで再現しました。これらの2つのステートメントの期待される出力はとでし1338930000
た1338977700
。
ただし、これには修正があります。修正はこれです:
today = parseInt(((new Date()).setHours(0,0,0,0) * Math.pow(10, -3)).toFixed(0))
またはsetHours()なし
today = parseInt(((new Date()) * Math.pow(10, -3)).toFixed(0))
これは一般的なバグですか?これらの結果を得るために私は何か間違ったことをしていますか?タイムスタンプの形式はtimestamp*10^3です。
編集:
結局のところ、JAVASCRIPTがミリ秒単位で出力している間、私は数秒で時間を期待していました(PHPだと思います)。phpJSの日付/時刻ライブラリを使用していますが、javasctiptのタイムスタンプはstrtotime()およびdate()とネイティブに互換性がないようです。
私はUNIXタイムスタンプを使用しようとしていましたが、それらは秒単位です。