🎴

【JavaScript】DateのオブジェクトをYYYY-MM-DD形式でフォーマットする

2022/07/01に公開

概要

JavaScriptで、Dateのオブジェクトを文字列にフォーマットするやり方は複数あると思います。例えばYYYY-MM-DD形式にフォーマットしたい場合、年・月・日を個別に取得し、必要に応じてゼロ埋めすれば実現できますが、もう少し良い実装がないかなと思って調べてみました。

対応方法

How do I format a date in JavaScript?のstackoverflowの記事に、色々とやり方が記載されていますが、toLocaleDateStringを使用した実装が良さそうです。
toLocaleDateStringの詳細については、【JavaScript】 toLocaleDateStringで日付の形式変換(和暦もできるよ)にて、詳しく解説されています。年・月・日ごとにnumeric2-digitで、フォーマットの選択ができます。

実装サンプル

toLocaleDateStringを用いて、YYYY-MM-DD形式にフォーマットする場合の実装サンプルは以下です。

const today = new Date();
const formatted = today
  .toLocaleDateString("ja-JP", {
    year: "numeric",
    month: "2-digit",
    day: "2-digit",
  })
  .split("/")
  .join("-");

console.log(formatted);

Discussion