date.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import dayjs from 'dayjs'
  2. import {
  3. $message
  4. } from "@/main"
  5. export function setDate(date) {
  6. let y = date.getFullYear();
  7. let m = date.getMonth() + 1;
  8. let d = date.getDate();
  9. m = m < 10 ? "0" + m : m;
  10. d = d < 10 ? "0" + d : d;
  11. return y + "-" + m + "-" + d;
  12. }
  13. export function getCurrentMonthFirst(date) {
  14. date.setDate(1);
  15. return date;
  16. }
  17. export function getCurrentMonthLast(date) {
  18. var currentMonth = date.getMonth();
  19. var nextMonth = ++currentMonth;
  20. var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
  21. var oneDay = 1000 * 60 * 60 * 24;
  22. return new Date(nextMonthFirstDay - oneDay);
  23. }
  24. export function getNowDateAndMonday(time) {
  25. let timestamp = new Date(time.replace(/-/g, "/")).getTime();
  26. let serverDate = new Date(time);
  27. if (serverDate.getDay() == 0) {
  28. timestamp -= 7 * 24 * 60 * 60 * 1000;
  29. }
  30. let mondayTime =
  31. timestamp - (serverDate.getDay() - 1) * 24 * 60 * 60 * 1000;
  32. let mondayData = new Date(mondayTime);
  33. //年
  34. let mondayY = mondayData.getFullYear();
  35. //月
  36. let mondayM =
  37. mondayData.getMonth() + 1 < 10 ?
  38. "0" + (mondayData.getMonth() + 1) :
  39. mondayData.getMonth() + 1;
  40. //日
  41. let mondayD =
  42. mondayData.getDate() < 10 ?
  43. "0" + mondayData.getDate() :
  44. mondayData.getDate();
  45. let str = mondayY + "-" + mondayM + "-" + mondayD;
  46. return str;
  47. }
  48. export function getNowDateAndSunday(time) {
  49. let timestamp = new Date(time.replace(/-/g, "/")).getTime();
  50. let serverDate = new Date(time);
  51. let num = 7 - serverDate.getDay();
  52. if (num == 7) {
  53. num = 0;
  54. }
  55. let sundayTiem = timestamp + num * 24 * 60 * 60 * 1000;
  56. let SundayData = new Date(sundayTiem);
  57. //年
  58. let tomorrowY = SundayData.getFullYear(); //月
  59. let tomorrowM =
  60. SundayData.getMonth() + 1 < 10 ?
  61. "0" + (SundayData.getMonth() + 1) :
  62. SundayData.getMonth() + 1;
  63. //日
  64. let tomorrowD =
  65. SundayData.getDate() < 10 ?
  66. "0" + SundayData.getDate() :
  67. SundayData.getDate();
  68. let str = tomorrowY + "-" + tomorrowM + "-" + tomorrowD;
  69. return str;
  70. }
  71. export function getWeekDay(str) {
  72. let week = new Date(str.replace(/-/g, "/")).getDay();
  73. week === 0 ? week = 7 : week
  74. return week
  75. }
  76. export function diffTimerFormMinute(classDate, startTime, endTime) {
  77. return Math.abs(dayjs(classDate + ' ' + startTime).diff(classDate + ' ' + endTime, 'Minute'))
  78. }
  79. export function addTimerFormMinute(classDate, startTime, time) {
  80. let endTime = dayjs(classDate + ' ' + startTime).add(time, 'minute')
  81. if (!dayjs(classDate + ' ' + "21:00").isBefore(endTime)) {
  82. return endTime.format('HH:mm')
  83. } else {
  84. $message.error('课程结束时间不可超过21:00点,请重新设置开始时间')
  85. return ''
  86. }
  87. }
  88. export function addFormMinute(timerStr, time = 0) {
  89. let timer = dayjs('2021-12-17' + ' ' + timerStr).add(time, 'minute')
  90. return timer.format('HH:mm:ss')
  91. }
  92. export function addFormMinuteAddS(timerStr, time = 0) {
  93. let timer = dayjs('2021-12-17' + ' ' + timerStr).add(time, 'minute').add(1,'second')
  94. return timer.format('HH:mm:ss')
  95. }
  96. export function addFormMinuteMS(timerStr, time = 0) {
  97. let timer = dayjs('2021-12-17' + ' ' + timerStr).add(time, 'minute').subtract(1,'second')
  98. return timer.format('HH:mm:ss')
  99. }
  100. export function reduceFormMinute(timerStr, time = 0) {
  101. let timer = dayjs('2021-12-17' + ' ' + timerStr).subtract(time, 'minute')
  102. return timer.format('HH:mm:ss')
  103. }
  104. export function reduceFormMinuteAddS(timerStr, time = 0) {
  105. let timer = dayjs('2021-12-17' + ' ' + timerStr).subtract(time, 'minute').add(1,'second')
  106. return timer.format('HH:mm:ss')
  107. }
  108. export function reduceFormMinuteMS(timerStr, time = 0) {
  109. let timer = dayjs('2021-12-17' + ' ' + timerStr).subtract(time, 'minute').subtract(1,'second')
  110. return timer.format('HH:mm:ss')
  111. }