読み込み中...

JavaScriptのDate.now()を使いこなす!7つのサンプルコードで解説

JavaScript Date.now() の使い方と応用例を解説するイメージ JS
この記事は約6分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読めば、JavaScriptのDate.now()関数を使いこなすことができるようになります。

Date.now()はJavaScriptで日時操作を行う際に重要な関数ですが、その使い方や応用例がわからない方も多いでしょう。

そこで、この記事ではDate.now()の基本的な使い方から応用例まで、7つのサンプルコードを用いて詳しく徹底解説していきます。

●JavaScriptのDate.now()とは

Date.now()は、JavaScriptで現在の日時を取得するための関数です。

この関数を実行すると、1970年1月1日00:00:00 UTC(世界協定時)から現在までの経過時間をミリ秒単位で返してくれます。

この値をタイムスタンプと呼び、日時の比較や計算などに使用できます。

●Date.now()の基本的な使い方

○サンプルコード1:現在のタイムスタンプを取得

このコードでは、Date.now()関数を使って現在のタイムスタンプを取得し、コンソールに出力しています。

// 現在のタイムスタンプを取得
const timestamp = Date.now();
console.log("現在のタイムスタンプ:", timestamp);

●Date.now()を使った応用例

○サンプルコード2:経過時間を計算する

このコードでは、Date.now()関数を使って2つのタイムスタンプを取得し、その差分を求めて経過時間を計算しています。

// 開始時刻のタイムスタンプを取得
const startTime = Date.now();

// 何らかの処理
// ...

// 終了時刻のタイムスタンプを取得
const endTime = Date.now();

// 経過時間を計算
const elapsedTime = endTime - startTime;
console.log("経過時間(ミリ秒):", elapsedTime);

○サンプルコード3:タイマー機能の実装

このコードでは、Date.now()関数を使ってタイマー機能を実装しています。

タイマーは指定した時間が経過したら、指定した処理を実行するものです。

// タイマーが実行されるまでの時間(ミリ秒)
const interval = 3000;

// タイマーが実行される時間のタイムスタンプを取得
const targetTime = Date.now() + interval;

// タイマー処理
const timer = setInterval(() => {
  if (Date.now() >= targetTime) {
    console.log("タイマー実行");
    clearInterval(timer);
  }
}, 100);

○サンプルコード4:特定の日時までのカウントダウン

このコードでは、Date.now()を使って特定の日時までのカウントダウンを実装しています。

指定された日時までの残り時間を表示します。

// カウントダウンする日時を指定
const targetDate = new Date("2023-12-31T23:59:59");

// カウントダウン処理
const countdown = setInterval(() => {
  const currentTime = Date.now();
  const remainingTime = targetDate.getTime() - currentTime;

  if (remainingTime <= 0) {
    console.log("カウントダウン終了");
    clearInterval(countdown);
  } else {
    console.log("残り時間(ミリ秒):", remainingTime);
  }
}, 1000);

●Dateオブジェクトと組み合わせて使う

○サンプルコード5:日付の加算減算

このコードでは、DateオブジェクトとDate.now()を使って日付の加算減算を行っています。

// 現在の日付を取得
const currentDate = new Date(Date.now());

// 3日後の日付を計算
const addedDate = new Date(currentDate.getTime() + 3 * 24 * 60 * 60 * 1000);
console.log("3日後の日付:", addedDate);

// 2日前の日付を計算
const subtractedDate = new Date(currentDate.getTime() - 2 * 24 * 60 * 60 * 1000);
console.log("2日前の日付:", subtractedDate);

○サンプルコード6:日付の比較

このコードでは、DateオブジェクトとDate.now()を使って日付の比較を行っています。

const date1 = new Date("2023-06-01");
const date2 = new Date("2023-07-01");

// 日付の比較
if (date1.getTime() < date2.getTime()) {
  console.log("date1はdate2よりも前です");
} else {
  console.log("date1はdate2と同じか、それ以降です");
}

○サンプルコード7:曜日の取得

このコードでは、DateオブジェクトとDate.now()を使って曜日の取得を行っています。

具体的には、現在の日時から曜日を計算し、日本語で出力しています。

// 現在の日時を取得
const currentDate = new Date(Date.now());

// 曜日を取得(0:日曜、1:月曜、... 6:土曜)
const dayOfWeek = currentDate.getDay();

// 曜日を日本語に変換
const japaneseDays = ["日", "月", "火", "水", "木", "金", "土"];
const japaneseDayOfWeek = japaneseDays[dayOfWeek];

console.log("今日は", japaneseDayOfWeek, "曜日です");

●注意点と対処法

Date.now()は、ブラウザやJavaScriptエンジンに依存せず、どの環境でも利用できる便利な関数です。

ただし、タイムスタンプはUTC(世界協定時)を基準にしているため、ローカルタイムに変換する際には注意が必要です。

その際は、Dateオブジェクトのメソッド(toLocaleString()など)を使用して、適切にローカルタイムに変換しましょう。

まとめ

この記事では、JavaScriptのDate.now()関数の基本的な使い方や応用例を、7つのサンプルコードを通して解説しました。

Date.now()は日時操作において非常に重要な関数ですので、ぜひ活用してみてください。

また、Dateオブジェクトと組み合わせることで、さらに多様な日時操作が可能になります。

ぜひ、この記事の内容を参考に、日時操作をマスターしましょう。