47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
import dayjs from 'dayjs'
|
||
|
||
/**
|
||
* 获取下一个整点时间
|
||
* @returns 格式为 YYYY-MM-DD HH:mm 的字符串
|
||
*/
|
||
export const getNextHourTime = (): string => {
|
||
const now = dayjs()
|
||
const nextHour = now.add(1, 'hour').startOf('hour')
|
||
return nextHour.format('YYYY-MM-DD HH:mm')
|
||
}
|
||
|
||
/**
|
||
* 根据开始时间计算结束时间(2小时后)
|
||
* @param startTime 开始时间,格式为 YYYY-MM-DD HH:mm
|
||
* @returns 格式为 YYYY-MM-DD HH:mm 的字符串
|
||
*/
|
||
export const getEndTime = (startTime: string): string => {
|
||
const startDateTime = dayjs(startTime)
|
||
const endDateTime = startDateTime.add(2, 'hour')
|
||
return endDateTime.format('YYYY-MM-DD HH:mm')
|
||
}
|
||
|
||
export const getDateStr = (date: Date): string => {
|
||
return dayjs(date).format('YYYY-MM-DD HH:mm')
|
||
}
|
||
|
||
export const getDate = (date: string): string => {
|
||
return dayjs(date).format('YYYY年MM月DD日')
|
||
}
|
||
|
||
export const getTime = (time: string): string => {
|
||
const timeObj = dayjs(time)
|
||
const hour = timeObj.hour()
|
||
const minute = timeObj.minute()
|
||
|
||
// 判断是上午还是下午
|
||
const period = hour <= 12 ? 'AM' : 'PM'
|
||
|
||
// 转换为12小时制
|
||
const hour12 = hour === 0 ? 0 : hour > 12 ? hour - 12 : hour
|
||
|
||
// 格式化分钟,保证两位数
|
||
const minuteStr = minute.toString().padStart(2, '0')
|
||
|
||
return `${hour12}:${minuteStr} ${period}`
|
||
} |