時間フォーマット出力(思考回路がクリア)
9510 ワード
要求:与えられた時間形式で指定された時間を出力する
フォーマット説明:2014.09.05について13:14:20 yyy:年、2014年 yy:年、14 MM:月、2人を補います.09 M:月、9 dd:日付、二人を補完します.05 d:日付、5 HH:24時間制で、二人を補います.13 H:24時間、13 hh:12時間で、二人を補います.01 h:12時間、1 mm:分で、二人を補います.14 m:分、14 ss:秒、二桁を補完します. s:秒、20 w:曜日は、「日」、「一」、「二」、「三」、「四」、「五」、「六」のいずれかで、本デモの結果は五 です.
フォーマット説明:2014.09.05について13:14:20
//
function formatDate(time, format) {
time = new Date(time)
let f = {
yyyy: time.getFullYear(),
yy: String(time.getFullYear()).slice(-2),
MM: String(time.getMonth() + 1).padStart(2, '0'),
M: time.getMonth() + 1,
dd: String(time.getDate()).padStart(2, '0'),
d: time.getDate(),
HH: String(time.getHours()).padStart(2, '0'),
H: time.getHours(),
hh: String(time.getHours() % 12).padStart(2, '0'),
h: time.getHours() % 12,
mm: String(time.getMinutes()).padStart(2, '0'),
m: time.getMinutes(),
ss: String(time.getSeconds()).padStart(2, '0'),
s: time.getSeconds(),
w: [' ', ' ', ' ', ' ', ' ', ' ', ' '][time.getDay()]
}
return format.replace(/[A-z]+/ig, $1 => f[$1])
}