从Quartz Scheduler javadocs中获取类setTimeZone
的方法CronTrigger
:
如果在此方法之后调用setCronExpression(CronExpression),则CronExpression上的TimeZone设置将“获胜”。但是,如果调用setCronExpression(String)
此方法之后,此方法所应用的时区将保留在
效果,因为String cron表达式不带有时区!
以不同的顺序调用两个二传手有什么区别?
最佳答案
共有三种情况-
您先调用setTimeZone(),再调用setCronExpression(CronExpression)。与CronExpression关联的时区将适用。
您先调用setTimeZone(),再调用setCronExpression(String)。由于String cron表达式没有关联的时区,因此将应用setTimeZone()指定的时区。
您先调用setCronExpression(CronExpression)或setCronExpression(String),再调用setTimeZone()。由setTimeZone()方法指定的时区将适用。