Skip to content

Instantly share code, notes, and snippets.

@bigshans
Last active July 22, 2021 07:08
Show Gist options
  • Save bigshans/271913fdc085fd4ddd6af09ea91a1f66 to your computer and use it in GitHub Desktop.
Save bigshans/271913fdc085fd4ddd6af09ea91a1f66 to your computer and use it in GitHub Desktop.
ts/js utils code
function formatTime(time: Date|number|string, format: string = 'YY-MM-DD hh:mm:ss'): string {
if (!time) {
return '';
}
let date: Date;
if (typeof time === 'number') {
date = new Date(time);
} else if (typeof time === 'string') {
if (/^\d+$/g.test(time)) {
date = new Date(+time);
} else {
date = new Date(time);
}
} else {
date = time;
}
let map: any = {
M: date.getMonth() + 1,
D: date.getDate(),
h: date.getHours(),
m: date.getMinutes(),
s: date.getSeconds(),
};
return format.replace(/([YMDhms])+/g, function(w, t) {
let v = map[t];
if (v !== undefined) {
if (w.length > 1) {
return ('0' + v).slice(-2);
}
return v;
} else if ('Y' === t) {
return (date.getFullYear() + '').slice(-w.length * 2);
}
return w;
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment