JavaScriptで現在のタイムスタンプを取得する方法

JavaScriptが現在のUNIXタイムスタンプを生成するために提供する方法をご覧ください


UNIXタイムスタンプは、を表す整数です。the number of seconds elapsed since January 1 1970

LinuxやmacOSを含むUNIXライクなマシンでは、次のように入力できます。date +%sターミナルでUNIXタイムスタンプを取得します。

$ date +%s
1524379940

現在のタイムスタンプは、を呼び出すことで取得できます。now()上の方法Dateオブジェクト:

Date.now()

を呼び出すことで同じ値を取得できます

new Date().getTime()

or

new Date().valueOf()

注:IE8以下にはnow()上の方法Date。 IE8以下をサポートする必要がある場合は、ポリフィルを探すか、new Date().getTime()もしDate.nowは未定義です(ポリフィルが行うことです)

JavaScriptのタイムスタンプは次のように表されます。ミリ秒

秒単位で表されるタイムスタンプを取得するには、次を使用してタイムスタンプを変換します。

Math.floor(Date.now() / 1000)

注:一部のチュートリアルではMath.round()、ただし、秒が完全に完了していなくても、次の秒に近似します。

または、読みにくい:

~~(Date.now() / 1000)

を使用したチュートリアルを見てきました

+new Date

これは奇妙なステートメントに思えるかもしれませんが、完全に正しいJavaScriptコードです。ザ・単項演算子+自動的にvalueOf()割り当てられているオブジェクトのメソッド。タイムスタンプ(ミリ秒単位)を返します。このコードの問題は、すぐに破棄される新しいDateオブジェクトをインスタンス化することです。

タイムスタンプから日付を生成するには、new Date(<timestamp>)ただし、必ず数値を渡してください(文字列を使用すると、「無効な日付」の結果が得られます-使用してくださいparseInt()疑っている)

私の無料ダウンロードJavaScriptビギナーズハンドブック


その他のjsチュートリアル: