mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-06-04 20:59:16 +08:00
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import { padZero } from '../utils';
|
|
import { CurrentTime } from '@vant/use';
|
|
|
|
export function parseFormat(format: string, currentTime: CurrentTime): string {
|
|
const { days } = currentTime;
|
|
let { hours, minutes, seconds, milliseconds } = currentTime;
|
|
|
|
if (format.indexOf('DD') === -1) {
|
|
hours += days * 24;
|
|
} else {
|
|
format = format.replace('DD', padZero(days));
|
|
}
|
|
|
|
if (format.indexOf('HH') === -1) {
|
|
minutes += hours * 60;
|
|
} else {
|
|
format = format.replace('HH', padZero(hours));
|
|
}
|
|
|
|
if (format.indexOf('mm') === -1) {
|
|
seconds += minutes * 60;
|
|
} else {
|
|
format = format.replace('mm', padZero(minutes));
|
|
}
|
|
|
|
if (format.indexOf('ss') === -1) {
|
|
milliseconds += seconds * 1000;
|
|
} else {
|
|
format = format.replace('ss', padZero(seconds));
|
|
}
|
|
|
|
if (format.indexOf('S') !== -1) {
|
|
const ms = padZero(milliseconds, 3);
|
|
|
|
if (format.indexOf('SSS') !== -1) {
|
|
format = format.replace('SSS', ms);
|
|
} else if (format.indexOf('SS') !== -1) {
|
|
format = format.replace('SS', ms.slice(0, 2));
|
|
} else {
|
|
format = format.replace('S', ms.charAt(0));
|
|
}
|
|
}
|
|
|
|
return format;
|
|
}
|