27 lines
792 B
TypeScript
27 lines
792 B
TypeScript
const PAD2 = (n: number) => String(n).padStart(2, "0");
|
|
|
|
/**
|
|
* Мини-форматтер штампа даты: токены YYYY MM DD hh mm ss заменяются
|
|
* значениями локального времени, остальные символы остаются как есть.
|
|
*/
|
|
export function formatStamp(date: Date, pattern: string): string {
|
|
return pattern.replace(/YYYY|MM|DD|hh|mm|ss/g, (token) => {
|
|
switch (token) {
|
|
case "YYYY":
|
|
return String(date.getFullYear());
|
|
case "MM":
|
|
return PAD2(date.getMonth() + 1);
|
|
case "DD":
|
|
return PAD2(date.getDate());
|
|
case "hh":
|
|
return PAD2(date.getHours());
|
|
case "mm":
|
|
return PAD2(date.getMinutes());
|
|
case "ss":
|
|
return PAD2(date.getSeconds());
|
|
default:
|
|
return token;
|
|
}
|
|
});
|
|
}
|