CronUtils.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.ruoyi.quartz.util;
  2. import org.quartz.CronExpression;
  3. import java.text.ParseException;
  4. import java.util.Date;
  5. /**
  6. * cron表达式工具类
  7. *
  8. * @deprecated 3.4.0删除 迁移至xxl-job
  9. * @author ruoyi
  10. *
  11. */
  12. public class CronUtils
  13. {
  14. /**
  15. * 返回一个布尔值代表一个给定的Cron表达式的有效性
  16. *
  17. * @param cronExpression Cron表达式
  18. * @return boolean 表达式是否有效
  19. */
  20. public static boolean isValid(String cronExpression)
  21. {
  22. return CronExpression.isValidExpression(cronExpression);
  23. }
  24. /**
  25. * 返回一个字符串值,表示该消息无效Cron表达式给出有效性
  26. *
  27. * @param cronExpression Cron表达式
  28. * @return String 无效时返回表达式错误描述,如果有效返回null
  29. */
  30. public static String getInvalidMessage(String cronExpression)
  31. {
  32. try
  33. {
  34. new CronExpression(cronExpression);
  35. return null;
  36. }
  37. catch (ParseException pe)
  38. {
  39. return pe.getMessage();
  40. }
  41. }
  42. /**
  43. * 返回下一个执行时间根据给定的Cron表达式
  44. *
  45. * @param cronExpression Cron表达式
  46. * @return Date 下次Cron表达式执行时间
  47. */
  48. public static Date getNextExecution(String cronExpression)
  49. {
  50. try
  51. {
  52. CronExpression cron = new CronExpression(cronExpression);
  53. return cron.getNextValidTimeAfter(new Date(System.currentTimeMillis()));
  54. }
  55. catch (ParseException e)
  56. {
  57. throw new IllegalArgumentException(e.getMessage());
  58. }
  59. }
  60. }