#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専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿