概述
从上面可以看出cron表达式处理主要分为两个步骤:cron表达式字符串分析为CronExpression对象;根据传入时间计算下一任务的执行时间。
在分析源代码之前,让我们简单地看一些java中的类
ValueRange主要用于表示时间和日期字段的有效范围。当然,它不能用来表示时间和日期。让我们简单看看它的使用。
它主要有四个字段,四个属性值从上到下不小于关系。
privatefinallongminSmallest;///最小值privatefinallongminLargest;//更大的最小值privatefinallongmaxSmallest;//小的最大值privatefinallongmaxLargest;//最大值//定义一个(1-10)的范围minSmallest和minLargest都是1,maxSmallest和maxLargest都是10ValueRangevalueRange=ValueRange.of(1,10);//判断5是否上述定义minSmallest和maxLargest在(1-10)的范围内,如果有,则返回truebooleanvalidValue=valueRange.isValidValue(5);System.out.println(validValue);
ChronoField它是一个枚举类,用来表示时间、日期的字段。
下面我们简单看看它的几个例子
//用纳秒表示表,1秒==一万纳秒,所以它的范围是0-9999999999999999NANO_OF_SECOND("NanoOfSecond",NANOS,SECONDS,ValueRange.of(0,999_999_999)==86400秒,再转成纳秒就是86400秒L*1000000000NANO_OF_DAY("NanoOfDay",NANOS,DAYS,ValueRange.of(0,86400L*1000_000_000L-1)),...其他基本相似,就不继续说了
ChronoUnit也是一个枚举类,表示一个时间单元。有一个。addTo方法表示在时间上添加相应的时间单元。
//下面的代码是给当前时间加一天ZonedDateTimenow=ZonedDateTime.now();ZonedDateTimezonedDateTime=ChronoUnit.DAYS.addTo(now,1)
最后
以上就是执着太阳为你收集整理的c调用通达信接口之spring cron表达式源码分析的全部内容,希望文章能够帮你解决c调用通达信接口之spring cron表达式源码分析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复