19 lines
757 B
TypeScript
19 lines
757 B
TypeScript
import { formatDateTime } from './format'
|
|
|
|
const REAL_NAME_TIME_OFFSET_MS = 8 * 60 * 60 * 1000
|
|
|
|
/**
|
|
* 实名时间在现有东八区展示逻辑的基础上额外增加 8 小时。
|
|
* 仅用于实名时间,其他时间字段继续使用 formatDateTime。
|
|
*/
|
|
export function formatRealNameTime(date: string | number | Date | undefined | null): string {
|
|
const formatted = formatDateTime(date)
|
|
if (formatted === '-') return '-'
|
|
|
|
// 先保留原格式化结果,再按明确的东八区偏移解析,避免依赖浏览器本地时区。
|
|
const displayDate = new Date(`${formatted.replace(' ', 'T')}+08:00`)
|
|
if (Number.isNaN(displayDate.getTime())) return '-'
|
|
|
|
return formatDateTime(new Date(displayDate.getTime() + REAL_NAME_TIME_OFFSET_MS))
|
|
}
|