time.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. function getTimeColumnsType(format) {
  2. if (!format) return []
  3. const columns = []
  4. format.includes('HH') && columns.push('hour')
  5. format.includes('mm') && columns.push('minute')
  6. format.includes('ss') && columns.push('second')
  7. return columns
  8. }
  9. function formatTimeValue(values, format) {
  10. let result = format
  11. let valueIndex = 0
  12. // 替换小时
  13. if (format.includes('HH')){
  14. result = result.replaceAll('HH', values[valueIndex] || '00')
  15. valueIndex++
  16. }
  17. // 替换分钟
  18. if (format.includes('mm')){
  19. result = result.replaceAll('mm', values[valueIndex] || '00')
  20. valueIndex++
  21. }
  22. // 替换秒
  23. if (format.includes('ss')){
  24. result = result.replaceAll('ss', values[valueIndex] || '00')
  25. valueIndex++
  26. }
  27. return result
  28. }
  29. function parseTimeToArray(timeString, format) {
  30. const values = []
  31. // 解析小时
  32. if (format.includes('HH')){
  33. const hourIndex = format.indexOf('HH')
  34. values.push(timeString.substring(hourIndex, hourIndex + 2))
  35. }
  36. // 解析分钟
  37. if (format.includes('mm')){
  38. const minuteIndex = format.indexOf('mm')
  39. values.push(timeString.substring(minuteIndex, minuteIndex + 2))
  40. }
  41. // 解析秒
  42. if (format.includes('ss')){
  43. const secondIndex = format.indexOf('ss')
  44. values.push(timeString.substring(secondIndex, secondIndex + 2))
  45. }
  46. return values
  47. }
  48. export {
  49. getTimeColumnsType,
  50. formatTimeValue,
  51. parseTimeToArray
  52. }