123456789101112131415161718192021222324252627282930313233343536373839404142 |
- export const parseTime = time => {
- const values = (time || '').split(':')
- if (values.length >= 2) {
- const hours = parseInt(values[0], 10)
- const minutes = parseInt(values[1], 10)
- return {
- hours,
- minutes
- }
- }
- return null
- }
- 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 0
- }
- return minutes1 > minutes2 ? 1 : -1
- }
- export const formatTime = (time) => {
- return (
- (time.hours < 10 ? '0' + time.hours : time.hours) +
- ':' +
- (time.minutes < 10 ? '0' + time.minutes : time.minutes)
- )
- }
- 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)
- }
|