JavaScriptの日時操作Tips!実務で役立つテクニック集
先生と生徒の会話形式で理解しよう
生徒
「先生、JavaScriptで日付を扱うときに知っておくと便利な方法はありますか?」
先生
「はい、日付や時間を効率よく扱うためのテクニックがあります。日付計算やフォーマットを簡単にしたり、月末や週末を扱うときに役立ちます。」
生徒
「例えばどんなテクニックがありますか?」
先生
「実務でよく使う便利な方法を順番に紹介しますね。」
1. 現在日時をすぐ取得する
まず基本中の基本、現在の日時を取得する方法です。Dateオブジェクトを使います。
const now = new Date();
console.log("現在日時:", now);
現在日時: Tue Nov 18 2025 12:34:56 GMT+0900 (日本標準時)
これで年・月・日・時間などの情報を簡単に扱うことができます。
2. 日付や時間をフォーマットする
そのままでは読みにくいので、見やすく整形します。
const formatted = `${now.getFullYear()}/${now.getMonth() + 1}/${now.getDate()} ${now.getHours()}:${now.getMinutes()}`;
console.log("整形日付:", formatted);
整形日付: 2025/11/18 12:34
テンプレートリテラルを使うと、コードがすっきりしてわかりやすくなります。
3. 日付の加算・減算で未来や過去を計算
実務では締め切りや予約日などを計算することがあります。
// 明日の日付
const tomorrow = new Date();
tomorrow.setDate(now.getDate() + 1);
// 先週の日付
const lastWeek = new Date();
lastWeek.setDate(now.getDate() - 7);
console.log("明日:", tomorrow);
console.log("先週:", lastWeek);
明日: Wed Nov 19 2025 12:34:56 GMT+0900 (日本標準時)
先週: Tue Nov 11 2025 12:34:56 GMT+0900 (日本標準時)
setDateを使えば日付の増減が簡単です。
4. 月初・月末の取得
月末や月初の計算もすぐできます。
const firstDay = new Date(now.getFullYear(), now.getMonth(), 1);
const lastDay = new Date(now.getFullYear(), now.getMonth() + 1, 0);
console.log("月初:", firstDay);
console.log("月末:", lastDay);
月初: Sat Nov 01 2025 00:00:00 GMT+0900 (日本標準時)
月末: Sun Nov 30 2025 00:00:00 GMT+0900 (日本標準時)
カレンダーや月報の計算に便利です。
5. 曜日を文字列で取得
曜日を表示したい場合、配列を使うと簡単です。
const weekdays = ["日", "月", "火", "水", "木", "金", "土"];
console.log("今日は何曜日?", weekdays[now.getDay()]);
今日は何曜日? 火
0が日曜日なので、配列で対応させるのが便利です。
6. タイムスタンプで日付の差を計算
締め切りまでの日数や経過時間を計算するときに使います。
const deadline = new Date("2025-12-01");
const diffMs = deadline.getTime() - now.getTime();
const diffDays = Math.ceil(diffMs / (1000 * 60 * 60 * 24));
console.log("締め切りまであと何日?", diffDays);
締め切りまであと何日? 13
ミリ秒を日数に変換して、実務で使いやすい形にします。
7. 日付の比較
締め切りが過ぎたかどうかの判定も簡単です。
if (now.getTime() > deadline.getTime()) {
console.log("締め切りは過ぎています");
} else {
console.log("締め切りはまだ先です");
}
締め切りはまだ先です
数値で比較できるので、条件分岐も容易です。
8. 実務で役立つTipsまとめ
実務では、日付計算や月初・月末、曜日の表示、締め切りのチェックなどがよく使われます。Dateオブジェクトと今回紹介したメソッドを組み合わせることで、タスク管理やスケジュール、カレンダーアプリなどが効率よく作れます。