Files
mini-programs/src/utils/timeUtils.ts
2025-08-30 22:25:39 +08:00

47 lines
1.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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}`
}