in core/utils.js [455:574]
format(date, format) {
switch (format) {
case "d":
return date.toLocaleDateString(undefined, { year: "numeric", month: "numeric", day: "numeric" });
case "D":
return date.toLocaleDateString(undefined, { weekday: "long", year: "numeric", month: "long", day: "numeric" });
case "f":
return date.toLocaleDateString(undefined, { weekday: "long", year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric" });
case "U":
case "F":
return date.toLocaleDateString(undefined, { weekday: "long", year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" });
case "g":
return date.toLocaleDateString(undefined, { year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric" });
case "G":
return date.toLocaleDateString(undefined, { year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" });
case "M":
case "m":
return date.toLocaleDateString(undefined, { month: "long", day: "numeric" });
case "O":
case "o":
format = "yyyy-MM-ddTHH:mm:ss.fffK";
break;
case "R":
case "r":
return date.toUTCString();
case "s":
date = new Date(date.toISOString());
format = "yyyy-MM-ddTHH:mm:ss.fff";
break;
case "t":
return date.toLocaleString(undefined, { hour: "numeric", minute: "numeric" });
case "T":
return date.toLocaleString(undefined, { hour: "numeric", minute: "numeric", second: "numeric" });
case "u":
return exports.string.format(
"{0:0000}-{1:00}-{2:00} {3:00}:{4:00}:{5:00}.{6:000}Z",
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate(),
date.getUTCHours(),
date.getUTCMinutes(),
date.getUTCSeconds(),
date.getUTCMilliseconds());
case "Y":
case "y":
return date.toLocaleDateString(undefined, { year: "numeric", month: "long" });
case undefined:
case null:
return date.toString();
default:
break;
}
return format
// Year
.replace("yyyyy", date.getFullYear().toString().padStart(5, "0"))
.replace("yyyy", date.getFullYear().toString().padStart(4, "0"))
.replace("yyy", date.getFullYear().toString().padStart(3, "0"))
.replace("yy", date.getFullYear().toString().substr(2, 2))
// Month (Name)
.replace("MMMM", date.toLocaleDateString(undefined, { month: "long" }))
.replace("MMM", date.toLocaleDateString(undefined, { month: "short" }))
// Month (Number)
.replace("MM", date.getMonth().toString().padStart(2, "0"))
.replace("M", date.getMonth().toString())
// Day of Weak
.replace("dddd", date.toLocaleDateString(undefined, { weekday: "long" }))
.replace("ddd", date.toLocaleDateString(undefined, { weekday: "short" }))
// Day of Month
.replace("dd", date.getDate().toString().padStart(2, "0"))
.replace("d", date.getDate().toString())
// Hours (24h)
.replace("HH", date.getHours().toString().padStart(2, "0"))
.replace("H", date.getHours().toString())
// Hours (12h)
.replace("hh", (date.getHours() > 12 ? date.getHours() - 12 : date.getHours()).toString().padStart(2, "0"))
.replace("h", (date.getHours() > 12 ? date.getHours() - 12 : date.getHours()).toString())
// Minutes
.replace("mm", date.getMinutes().toString().padStart(2, "0"))
.replace("m", date.getMinutes().toString())
// Seconds
.replace("ss", date.getSeconds().toString().padStart(2, "0"))
.replace("s", date.getSeconds().toString())
// Thousandths of Second
.replace("fff", date.getMilliseconds().toString().padStart(3, "0"))
.replace("ff", date.getMilliseconds().toString().padStart(2, "0"))
.replace("f", date.getMilliseconds().toString())
// Timezone offset
.replace("zzz", exports.date.toTimezoneOffsetString(date.getTimezoneOffset()))
.replace("zz", exports.date.toTimezoneOffsetString(date.getTimezoneOffset()).substr(0, 3))
.replace("z", parseInt(exports.date.toTimezoneOffsetString(date.getTimezoneOffset()).substr(0, 3), 10).toString())
// Timezone
.replace("K", exports.date.toTimezoneOffsetString(date.getTimezoneOffset()));
}