timeUtil.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.getLastDay = getLastDay;
  6. exports.getLowerBoundTime = getLowerBoundTime;
  7. exports.setDateTime = setDateTime;
  8. exports.setTime = setTime;
  9. function setTime(generateConfig, date, hour, minute, second) {
  10. let nextTime = generateConfig.setHour(date, hour);
  11. nextTime = generateConfig.setMinute(nextTime, minute);
  12. nextTime = generateConfig.setSecond(nextTime, second);
  13. return nextTime;
  14. }
  15. function setDateTime(generateConfig, date, defaultDate) {
  16. if (!defaultDate) {
  17. return date;
  18. }
  19. let newDate = date;
  20. newDate = generateConfig.setHour(newDate, generateConfig.getHour(defaultDate));
  21. newDate = generateConfig.setMinute(newDate, generateConfig.getMinute(defaultDate));
  22. newDate = generateConfig.setSecond(newDate, generateConfig.getSecond(defaultDate));
  23. return newDate;
  24. }
  25. function getLowerBoundTime(hour, minute, second, hourStep, minuteStep, secondStep) {
  26. const lowerBoundHour = Math.floor(hour / hourStep) * hourStep;
  27. if (lowerBoundHour < hour) {
  28. return [lowerBoundHour, 60 - minuteStep, 60 - secondStep];
  29. }
  30. const lowerBoundMinute = Math.floor(minute / minuteStep) * minuteStep;
  31. if (lowerBoundMinute < minute) {
  32. return [lowerBoundHour, lowerBoundMinute, 60 - secondStep];
  33. }
  34. const lowerBoundSecond = Math.floor(second / secondStep) * secondStep;
  35. return [lowerBoundHour, lowerBoundMinute, lowerBoundSecond];
  36. }
  37. function getLastDay(generateConfig, date) {
  38. const year = generateConfig.getYear(date);
  39. const month = generateConfig.getMonth(date) + 1;
  40. const endDate = generateConfig.getEndDate(generateConfig.getFixedDate(`${year}-${month}-01`));
  41. const lastDay = generateConfig.getDate(endDate);
  42. const monthShow = month < 10 ? `0${month}` : `${month}`;
  43. return `${year}-${monthShow}-${lastDay}`;
  44. }