/** * 备份文件名里的时间戳。 * * 名字由服务端生成(server/config-store.ts 的 backupName),形如 * `config.yaml.bak-20260811-031000`,时间戳是服务端的本地时间。 */ const STAMP = /\.bak-(\d{4})(\d{2})(\d{2})-(\d{2})(\d{2})(\d{2})$/ /** 把备份文件名排成可读时间。名字不合预期时返回 null,调用方退回显示原名。 */ export function backupTime(name: string): string | null { const m = STAMP.exec(name) if (!m) return null return `${m[1]}-${m[2]}-${m[3]} ${m[4]}:${m[5]}:${m[6]}` } /** 备份文件名里的时间戳解析成 Date(服务端本地时间)。名字不合预期时返回 null。 */ export function backupDate(name: string): Date | null { const m = STAMP.exec(name) if (!m) return null return new Date( Number(m[1]), Number(m[2]) - 1, Number(m[3]), Number(m[4]), Number(m[5]), Number(m[6]), ) }