export abstract class DateUtils {
/** 格式化: 时间
* 年 天 小时 分钟 秒 毫秒
* yy/YY dd/DD hh/HH mm/MM ss/SS ms/MS
* @param seconds 时间(秒)
* @param format 格式化字符串 例如: mm分ss秒hh时yy年MM月dd日
*/
static formatTime(seconds: number, format: string): string {
let ms = seconds * 1000
let year = Math.floor(ms / (365 * 24 * 60 * 60 * 1000))
ms = ms % (365 * 24 * 60 * 60 * 1000)
let day = Math.floor(ms / (24 * 60 * 60 * 1000))
ms = ms % (24 * 60 * 60 * 1000)
let hours = Math.floor(ms / (60 * 60 * 1000))
ms = ms % (60 * 60 * 1000)
let minutes = Math.floor(ms / (60 * 1000))
ms = ms % (60 * 1000)
let seconds1 = Math.floor(ms / 1000)
ms = ms % 1000
let str = format
str = str.replace(/yy|YY/, (year < 10 ? '0' + year : year) + '')
str = str.replace(/dd|DD/, (day < 10 ? '0' + day : day) + '')
str = str.replace(/hh|HH/, (hours < 10 ? '0' + hours : hours) + '')
str = str.replace(/mm|MM/, (minutes < 10 ? '0' + minutes : minutes) + '')
str = str.replace(/ss|SS/, (seconds1 < 10 ? '0' + seconds1 : seconds1) + '')
str = str.replace(/ms|MS/, (ms < 10 ? '0' + ms : ms) + '')
return str
}
/** 格式化: 日期
* 年 月 天 小时 分钟 秒 毫秒
* yy/YY mm/MM dd/DD hh/HH ii/II ss/SS ms/MS
* @param timestamp_s 时间戳(秒)
* @param format 格式化字符串 例如: ii分ss秒hh时yy年MM月dd日
*/
static formatDate(timestamp_s: number, format: string): string {
let date = new Date(timestamp_s * 1000)
let year = date.getFullYear()
let month = date.getMonth() + 1
let day = date.getDate()
let hours = date.getHours()
let minutes = date.getMinutes()
let seconds = date.getSeconds()
let ms = date.getMilliseconds()
let str = format
str = str.replace(/yy|YY/, (year < 10 ? '0' + year : year) + '')
str = str.replace(/mm|MM/, (month < 10 ? '0' + month : month) + '')
str = str.replace(/dd|DD/, (day < 10 ? '0' + day : day) + '')
str = str.replace(/hh|HH/, (hours < 10 ? '0' + hours : hours) + '')
str = str.replace(/ii|II/, (minutes < 10 ? '0' + minutes : minutes) + '')
str = str.replace(/ss|SS/, (seconds < 10 ? '0' + seconds : seconds) + '')
str = str.replace(/ms|MS/, (ms < 10 ? '0' + ms : ms) + '')
return str
}
}
TypeScript JavaScript TS JS 时间格式化 日期格式化
于 2025-05-09 16:08:20 首次发布