はじめに
この記事を読めば、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オブジェクトと組み合わせることで、さらに多様な日時操作が可能になります。
ぜひ、この記事の内容を参考に、日時操作をマスターしましょう。