Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在天亮前后计算时,表达式是否存在问题?_Java_Cron_Scheduled Tasks_Quartz Scheduler_Dst - Fatal编程技术网

Java 在天亮前后计算时,表达式是否存在问题?

Java 在天亮前后计算时,表达式是否存在问题?,java,cron,scheduled-tasks,quartz-scheduler,dst,Java,Cron,Scheduled Tasks,Quartz Scheduler,Dst,我们有一个带有以下值的Cron作业表达式,用于在每个周日巴西时间上午12点运行某些作业: expression=0 0 0 ? * SUN, expressionType=Cron, timeZone=America/Sao_Paulo 我们使用quartz(2.2)的CronExpression来查找给定时间之后的下一个有效日期。方法用于CronExpression类的getNextValidTimeAfter 当我们试图计算10月29日的值时,下一个星期日是11月1日,但CronExp

我们有一个带有以下值的Cron作业表达式,用于在每个周日巴西时间上午12点运行某些作业:

expression=0 0 0 ? * SUN, 
expressionType=Cron, 
timeZone=America/Sao_Paulo
我们使用quartz(2.2)的CronExpression来查找给定时间之后的下一个有效日期。方法用于CronExpression类的getNextValidTimeAfter

当我们试图计算10月29日的值时,下一个星期日是11月1日,但CronExpression返回的下一个星期日是11月8日。我认为这是因为夏令时在11月的第一个星期日结束

使用CronExpression的代码:


    DateTime date = new DateTime();
    Date nextValidDate = null;

    CronExpression cronExpression = new CronExpression("0 0 0 ? * SUN");
                
    cronExpression.setTimeZone(TimeZone.getTimeZone("America/Sao_Paulo"));

    nextValidDate = cronExpression.getNextValidTimeAfter(date.toDate());
                

注意:我们在美国东部地区的AWS EC2上运行此代码

有人能帮我理解这个DST是如何把下周日作为日期的吗。CronExpression与夏令时是否存在任何已知问题