mirror of
https://github.com/KuekHaoYang/KVideo.git
synced 2026-08-13 15:53:44 +08:00
34 lines
988 B
TypeScript
34 lines
988 B
TypeScript
/**
|
|
* Formatting utilities for time and dates
|
|
*/
|
|
|
|
/**
|
|
* Format seconds to HH:MM:SS or MM:SS
|
|
*/
|
|
export function formatTime(seconds: number): string {
|
|
const hours = Math.floor(seconds / 3600);
|
|
const minutes = Math.floor((seconds % 3600) / 60);
|
|
const secs = Math.floor(seconds % 60);
|
|
|
|
if (hours > 0) {
|
|
return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
|
|
}
|
|
return `${minutes}:${secs.toString().padStart(2, '0')}`;
|
|
}
|
|
|
|
/**
|
|
* Format timestamp to relative date (今天, 昨天, X天前, or date)
|
|
*/
|
|
export function formatDate(ts: number): string {
|
|
const date = new Date(ts);
|
|
const now = new Date();
|
|
const diff = now.getTime() - date.getTime();
|
|
const days = Math.floor(diff / (1000 * 60 * 60 * 24));
|
|
|
|
if (days === 0) return '今天';
|
|
if (days === 1) return '昨天';
|
|
if (days < 7) return `${days}天前`;
|
|
|
|
return date.toLocaleDateString('zh-CN', { month: 'short', day: 'numeric' });
|
|
}
|