courseTime.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import dayjs from 'dayjs'
  2. const isBetween = require('./dayjs/isBetween')
  3. dayjs.extend(isBetween);
  4. export function IsNotEnd(comingEndDate) {
  5. const now = dayjs();
  6. const isNotEnd = dayjs(comingEndDate).diff(now, 'second');
  7. return isNotEnd > 0 ? false : true
  8. }
  9. export function IsNotStart(comingStartDate) {
  10. const now = dayjs();
  11. const IsNotStart = dayjs(comingStartDate).diff(now, 'second');
  12. console.log('IsNotStart', IsNotStart)
  13. return IsNotStart > 0 ? true : false
  14. }
  15. export function IsInTime(comingStartDate, comingEndDate) {
  16. const now = dayjs();
  17. return now.isBetween(dayjs(comingStartDate), dayjs(comingEndDate))
  18. }
  19. export function getCourseStatus(comingStartDate, comingEndDate) {
  20. const now = dayjs();
  21. const isOn = now.isBetween(dayjs(comingStartDate), dayjs(comingEndDate));
  22. console.log('isOn', isOn, dayjs(comingStartDate).format('YYYY-MM-DD hh:mm:ss'), dayjs(comingEndDate).format('YYYY-MM-DD hh:mm:ss'))
  23. const reMain = dayjs(comingEndDate).diff(now)
  24. if (isOn) {
  25. return {
  26. status: 1,
  27. time: 0,
  28. showTime: dayjs(comingStartDate).format('YYYY-MM-DD hh:mm:ss')
  29. }
  30. } else {
  31. if (reMain < 0) {
  32. return {
  33. status: 2,
  34. time: 0,
  35. showTime: dayjs(comingStartDate).format('YYYY-MM-DD hh:mm:ss')
  36. }
  37. } else {
  38. const nearStart = dayjs(comingStartDate).diff(now)
  39. return {
  40. status: 0,
  41. time: nearStart,
  42. showTime: dayjs(comingStartDate).format('YYYY-MM-DD hh:mm:ss')
  43. }
  44. }
  45. }
  46. }