JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでエポック(1970年1月1日)以降の日時・タイムスタンプを取得する方法

JavaScriptでエポック(1970年1月1日 00:00:00 UTC)以降の日時を取得するには、DateオブジェクトのgetTime()メソッドを使用します。このメソッドは、エポックから対象日時までの経過時間をミリ秒単位の数値で返します。

基本の書き方

まずは最小限のコードで動作を確認してみましょう。

// 現在の日時を取得
var currentDate = new Date();
document.write("Current Date: " + currentDate);

// エポックからの経過時間を取得(ミリ秒)
var epochMillis = currentDate.getTime();
document.write("<br>Epoch millis: " + epochMillis);

// 秒単位のUNIXタイムスタンプが必要な場合
var epochSeconds = Math.floor(epochMillis / 1000);
document.write("<br>Epoch seconds: " + epochSeconds);

HTML全体のサンプルコード

実際にブラウザで動かせる完全なコード例は以下の通りです。

<html>
   <head>
      <title>JavaScript Epoch Date</title>
   </head>
   <body>
      <script>
         var current_date, epocDate;
         current_date = new Date();
         document.write("Current Date: "+current_date);
         var epocDate = new Date(new Date().getTime() / 1000);
         document.write("<br>Since epoch: "+epocDate);
      </script>
   </body>
</html>

実行結果

Current Date: Mon May 28 2018 09:23:11 GMT+0530 (India Standard Time)
Since epoch: Sun Jan 18 1970 21:47:59 GMT+0530 (India Standard Time)

出力結果のポイント解説

getTime()が返すのはミリ秒単位の値である点に注意してください。上記のサンプルでは、この値を1000で割って秒単位にした数値をそのままnew Date()に渡しているため、「エポックから約1万8000秒後」にあたる1970年1月18日の日付が表示されます。

つまり、この例は「エポックからの経過秒数を日時に変換するとどうなるか」を示すデモとなっています。実務では目的に応じて以下のように使い分けるのがおすすめです。

  • 現在のタイムスタンプ(ミリ秒)だけ欲しい場合 → Date.now()
  • 既存のDateオブジェクトから取得する場合 → dateObj.getTime()
  • 秒単位のUNIXタイムスタンプが必要な場合 → Math.floor(Date.now() / 1000)
  • 特定の日時のタイムスタンプを取得する場合 → new Date("2025-01-01").getTime()

また、Date.now()を使えばDateインスタンスを生成せずに現在時刻のタイムスタンプを直接取得できるため、パフォーマンス面でも有利です。

  1. Swiftで現在の日付と時刻を取得する方法(UTC・ローカル時刻対応)

    日付や時刻の処理は、プログラミング初心者がつまずきやすいポイントのひとつです。ほとんどのアプリでは現在の日付を取得する必要があり、予約管理、ログ記録、期限チェックなど、多くの機能がこの情報に依存しています。 本記事では、Swiftを使ってiOSアプリで現在の日付と時刻を取得する基本的な方法を解説します。具体的には、UTC(協定世界時)の時刻と、デバイスのタイムゾーンに基づく現地時刻の2パターンを紹介します。 UTC(協定世界時)の現在時刻を取得する UTCの時刻を取得したい場合は、Playgroundに以下のコードを貼り付けて実行してください。わずか2行で完了します。 let utcDate

  2. Java 9のJShellで現在の日付と時刻を取得する方法

    JShellとはJShellは、Java 9から導入された対話型のコマンドラインツールです。Java言語やそのAPIを学習・調査・検証するために活用でき、コンソールに有効なJavaコードを入力すればその場ですぐに結果を確認できます。main()メソッドを持つ冗長なクラスを作成する必要がないため、コードの動作を手軽に試せるのが大きな魅力です。現在の日付と時刻を取得するJShellで現在の日付と時刻を取得するには、以下のようにDateオブジェクトを生成します。jshell> new Date()$1 ==> Fri Feb 28 11:59:23 IST 2020jshell>わ