const fmt_1 = new Intl.DateTimeFormat('ja', {
year: 'numeric', month: 'long', day: 'numeric'
})
console.log(
fmt_1.format(new Date())
)
//2020年8月22日
const fmt_2 = new Intl.DateTimeFormat('ja', {
year: 'numeric', month: '2-digit', day: '2-digit'
})
console.log(
fmt_2.format(new Date())
)
//2020/08/22
const fmt_3 = new Intl.DateTimeFormat('ja', {
year: 'numeric', month: 'long', day: 'numeric',
hour: 'numeric', minute: 'numeric',
hour12: true
})
console.log(
fmt_3.format(new Date())
)
//2020年8月22日 午後8:58
const fmt_4 = new Intl.DateTimeFormat('ja', {
year: '2-digit', month: '2-digit', day: '2-digit',
hour: '2-digit', minute: '2-digit', second: '2-digit',
hour12: false
})
console.log(
fmt_4.format(new Date())
)
//20/08/22 20:58:05
各プロパティ用の値は以下から
Intl.DateTimeFormat
by MDN Contributors (CC BY-SA 2.5)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat
フォーマット用のインスタンスを作っておけば、後からいくらでも再利用できるというわけです。
「new Date().getFullYear()
で年を求め、new Date().getMonth() + 1
で月を求め、時間が12以上だったら12を引いて『午後』を付けて…」などとしていたのが馬鹿馬鹿しくなってきますね…。