123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // 格式化时间
- export const formatTime = (time) => {
- return (
- (time.hours < 10 ? '0' + time.hours : time.hours) +
- ':' +
- (time.minutes < 10 ? '0' + time.minutes : time.minutes)
- )
- }
- // 时间转换成分钟
- export const parseTime = (time) => {
- const value = (time || '').split(':')
- if (value.length >= 2) {
- const hours = parseInt(value[0], 10)
- const minutes = parseInt(value[1], 10)
- return { hours, minutes }
- }
- return null
- }
- // 通过step计算下一步的时间
- export const nextTime = (time, step) => {
- const timeValue = parseTime(time)
- const stepValue = parseTime(step)
- const next = {
- hours: timeValue.hours,
- minutes: timeValue.minutes
- }
- next.minutes += stepValue.minutes
- next.hours += stepValue.hours
- next.hours += Math.floor(next.minutes / 60)
- next.minutes = next.minutes % 60
- return formatTime(next)
- }
- // 对比两个时间的大小
- export const compareTime = (time1, time2) => {
- const value1 = parseTime(time1)
- const value2 = parseTime(time2)
- const minutes1 = value1.minutes + value1.hours * 60
- const minutes2 = value2.minutes + value2.hours * 60
- if (minutes1 === minutes2) return false
- return minutes1 > minutes2
- }
|