🎴
【JavaScript】DateのオブジェクトをYYYY-MM-DD形式でフォーマットする
概要
JavaScriptで、Dateのオブジェクトを文字列にフォーマットするやり方は複数あると思います。例えばYYYY-MM-DD形式にフォーマットしたい場合、年・月・日を個別に取得し、必要に応じてゼロ埋めすれば実現できますが、もう少し良い実装がないかなと思って調べてみました。
対応方法
How do I format a date in JavaScript?のstackoverflowの記事に、色々とやり方が記載されていますが、toLocaleDateString
を使用した実装が良さそうです。
toLocaleDateStringの詳細については、【JavaScript】 toLocaleDateStringで日付の形式変換(和暦もできるよ)にて、詳しく解説されています。年・月・日ごとにnumeric
か2-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