JavaScriptでよく使用される`Date.now()`関数について、基本的な使い方から実践的な活用方法まで詳しく解説します。

Date.now()とは

`Date.now()`は、1970年1月1日00:00:00 UTC(協定世界時)から現在までの経過時間をミリ秒単位で返すJavaScriptのメソッドです。

基本的な使い方

const timestamp = Date.now();
console.log(timestamp); // 例:1679012345678

具体的な活用例

1. 経過時間の計測

const start = Date.now();
// 処理
const end = Date.now();
const elapsed = end - start; // 経過時間(ミリ秒)

2. 現在の日付・時刻の取得

const now = new Date(Date.now());
console.log(now.toLocaleString()); // 例:2024/1/1 12:34:56

3. タイムスタンプの比較

const timestamp1 = Date.now();
const timestamp2 = Date.now();
const difference = timestamp2 - timestamp1; // 時間差(ミリ秒)

メリット

  • シンプルで使いやすい
  • 高精度な時間測定が可能
  • ブラウザの互換性が高い

注意点

  • 返される値はミリ秒単位のため、必要に応じて変換が必要
  • タイムゾーンの考慮が必要な場合は別途対応が必要

よくあるエラーと解決方法

1. NaN(Not a Number)が返される

// 誤った使用法
const timestamp = Date.now;  // ()が抜けている

// 正しい使用法
const timestamp = Date.now();

2. 日付形式への変換エラー

// 誤った変換方法
const date = Date.now().toLocaleString();  // エラー

// 正しい変換方法
const date = new Date(Date.now()).toLocaleString();

まとめ

`Date.now()`は現在時刻を取得する際の標準的な方法として広く使用されています。シンプルな構文で高精度な時間計測が可能で、パフォーマンス計測やタイムスタンプの生成など、様々な用途に活用できます。

参考コード

// 現在時刻からの1時間後を計算
const oneHourLater = Date.now() + (60 * 60 * 1000);

// タイムスタンプを人間が読める形式に変換
const readableDate = new Date(Date.now()).toLocaleString('ja-JP', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit'
});

これらの使用方法を理解することで、JavaScriptでの時間管理をより効果的に行うことができます。