vite-uni-dev-tool
Version:
vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试
76 lines (69 loc) • 2.08 kB
text/typescript
export function getCurrentDate() {
const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const hour = date.getHours();
const minute = date.getMinutes();
const second = date.getSeconds();
return `${year}-${month.toString().padStart(2, '0')}-${day
.toString()
.padStart(2, '0')} ${hour.toString().padStart(2, '0')}:${minute
.toString()
.padStart(2, '0')}:${second?.toString().padStart(2, '0')}`;
}
/**
* 格式化时间
*
* @export
* @param {(Date | string | number)} date
* @param {string} format
* @return {*} {string}
*/
export function formatDate(
date: Date | string | number,
format: string,
): string {
let dateObj: Date;
if (date instanceof Date) {
dateObj = date;
} else {
dateObj = new Date(date);
}
if (isNaN(dateObj.getTime())) {
throw new Error('Invalid date');
}
const formatMap: Record<string, string | number> = {
YYYY: dateObj.getFullYear(),
MM: String(dateObj.getMonth() + 1).padStart(2, '0'),
M: dateObj.getMonth() + 1,
DD: String(dateObj.getDate()).padStart(2, '0'),
D: dateObj.getDate(),
HH: String(dateObj.getHours()).padStart(2, '0'),
H: dateObj.getHours(),
hh: String(dateObj.getHours() % 12 || 12).padStart(2, '0'),
h: dateObj.getHours() % 12 || 12,
mm: String(dateObj.getMinutes()).padStart(2, '0'),
m: dateObj.getMinutes(),
ss: String(dateObj.getSeconds()).padStart(2, '0'),
s: dateObj.getSeconds(),
SS: String(dateObj.getMilliseconds()).padStart(3, '0'),
S: dateObj.getMilliseconds(),
A: dateObj.getHours() >= 12 ? 'PM' : 'AM',
a: dateObj.getHours() >= 12 ? 'pm' : 'am',
};
return format.replace(
/YYYY|MM|DD|HH|hh|mm|ss|SS|A|a|M|D|H|h|m|s|S/g,
(match) => formatMap[match].toString(),
);
}
/**
* 休眠
*
* @export
* @param {number} ms
* @return {*}
*/
export function sleep(ms: number) {
return new Promise((resolve) => setTimeout(resolve, ms));
}