#18 JavaScriptで学ぶ日付と時刻の扱いの基本

JavaScriptの日付操作は、伝統的なDateオブジェクトに加え、近年新しい標準機能も登場しています。この記事では、JavaScriptにおける日付と時刻の基本的な扱い方と、つまずきやすいポイントを解説します。

Dateオブジェクトを使う

const now = new Date();
console.log(now);

特定の日付を指定して作りたい場合は、new Date(2026, 6, 30)のように年・月・日を渡します(月の指定方法には後述の注意点があります)。

日付の一部を取得する

console.log(now.getFullYear()); // 年
console.log(now.getMonth());    // 月(0から始まる点に注意)
console.log(now.getDate());     // 日
console.log(now.getDay());      // 曜日(0が日曜日)

日付を文字列にする

画面にそのまま表示できる読みやすい形式にしたい場合は、toLocaleDateStringが便利です。

console.log(now.toLocaleDateString("ja-JP")); // 2026/7/30

日付を計算する

JavaScriptのDateには、Pythonのtimedeltaのような便利な計算機能がなく、ミリ秒単位で自分で計算する必要があります。

const threeDaysLater = new Date(now.getTime() + 3 * 24 * 60 * 60 * 1000);

「1日は24時間、1時間は60分、1分は60秒、1秒は1000ミリ秒」という単位換算を毎回書くのは間違いのもとになりやすいため、定数として用意しておくと安全です。

const ONE_DAY_MS = 24 * 60 * 60 * 1000;
const threeDaysLater = new Date(now.getTime() + 3 * ONE_DAY_MS);

JavaScriptならではの注意点

getMonth()は、1月が0、12月が11として返される点が、初心者が非常につまずきやすいポイントです。表示する際は+1することを忘れないようにしましょう。日付の計算が複雑になる場合は、day.jsのような専用のライブラリを使うのもよい選択です。標準機能だけで完結させたい場合は、比較的新しいTemporalという日付・時刻専用のAPIも登場しており、Dateの分かりにくい仕様を改善する目的で開発が進められています。

まとめ

JavaScriptの日付操作はDateオブジェクトが基本です。月が0から始まる点に注意し、複雑な計算にはライブラリの活用や、単位換算の定数化を検討しましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

JavaScriptをもっと学びたい方には「改訂新版JavaScript本格入門」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本