timeUtil.js 1.6 KB

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