utils.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // 格式化时间
  2. export const formatTime = (time) => {
  3. return (
  4. (time.hours < 10 ? '0' + time.hours : time.hours) +
  5. ':' +
  6. (time.minutes < 10 ? '0' + time.minutes : time.minutes)
  7. )
  8. }
  9. // 时间转换成分钟
  10. export const parseTime = (time) => {
  11. const value = (time || '').split(':')
  12. if (value.length >= 2) {
  13. const hours = parseInt(value[0], 10)
  14. const minutes = parseInt(value[1], 10)
  15. return { hours, minutes }
  16. }
  17. return null
  18. }
  19. // 通过step计算下一步的时间
  20. export const nextTime = (time, step) => {
  21. const timeValue = parseTime(time)
  22. const stepValue = parseTime(step)
  23. const next = {
  24. hours: timeValue.hours,
  25. minutes: timeValue.minutes
  26. }
  27. next.minutes += stepValue.minutes
  28. next.hours += stepValue.hours
  29. next.hours += Math.floor(next.minutes / 60)
  30. next.minutes = next.minutes % 60
  31. return formatTime(next)
  32. }
  33. // 对比两个时间的大小
  34. export const compareTime = (time1, time2) => {
  35. const value1 = parseTime(time1)
  36. const value2 = parseTime(time2)
  37. const minutes1 = value1.minutes + value1.hours * 60
  38. const minutes2 = value2.minutes + value2.hours * 60
  39. if (minutes1 === minutes2) return false
  40. return minutes1 > minutes2
  41. }