【JavaScript ECMAScript】Temporal::Temporal.ZonedDateTime.prototype.epochNanosecondsインスタンスアクセサプロパティの使い方
Temporal.ZonedDateTime.prototype.epochNanosecondsインスタンスアクセサプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Temporal.ZonedDateTime.prototype.epochNanosecondsプロパティは、Temporal.ZonedDateTimeオブジェクトが保持する特定の日時を、Unixエポック(協定世界時1970年1月1日00:00:00)からの経過時間をナノ秒単位で表すBigInt値として取得するプロパティです。
Temporal.ZonedDateTimeは、日時情報とタイムゾーン情報を組み合わせて表現する新しいJavaScriptのオブジェクトです。このプロパティを利用することで、タイムゾーンの違いを考慮した上で、その日時がエポックからどれだけのナノ秒が経過したかという絶対的な時間軸上の位置を、極めて高い精度で把握できます。
具体的には、異なるタイムゾーンにまたがる日時を比較する際や、システム内でミリ秒よりもさらに細かい時間差を正確に計算する必要がある場合に非常に有用です。返される値はJavaScriptのBigInt型であり、Number型では扱えない膨大なナノ秒数を表現できます。従来のDateオブジェクトが抱えるタイムゾーンや精度の課題を解決するTemporal APIの一部として、より堅牢で正確な日時操作を実現します。
構文(syntax)
1const zonedDateTime = new Temporal.ZonedDateTime(0n, "UTC"); 2const nanoseconds = zonedDateTime.epochNanoseconds;
引数(parameters)
引数なし
引数はありません
戻り値(return)
BigInt
このプロパティは、JavaScriptのTemporal.ZonedDateTimeオブジェクトが表す日時を、UTC(協定世界時)の基準となるエポック(1970年1月1日午前0時)からの経過時間をナノ秒単位で表すBigInt値を返します。