首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setCronExpression(CronExpression)和setCronExpression(String)的区别

setCronExpression(CronExpression)和setCronExpression(String)的区别
EN

Stack Overflow用户
提问于 2010-07-26 07:20:57
回答 2查看 1.4K关注 0票数 1

从Quartz Scheduler javadocsCronTrigger类的方法setTimeZone

如果在此方法之后调用setCronExpression( CronExpression ),则CronExpression上的TimeZone设置将“获胜”。但是,如果在此方法之后调用setCronExpression( String ),则此方法应用的时区将保持有效,因为字符串cron表达式不带时区!

在不同的序列中调用两个设置者有什么不同?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-26 07:45:38

有三种情况-

  1. 您可以调用setTimeZone(),后面是setCronExpression(CronExpression)。将应用与CronExpression相关联的时区。
  2. 您可以调用setTimeZone(),后面是setCronExpression(字符串)。setTimeZone()指定的时区将适用,因为字符串cron表达式没有关联时区。
  3. 您可以调用setCronExpression(CronExpression)或setCronExpression(String),后面跟着setTimeZone()。将应用setTimeZone()方法指定的时区。
票数 1
EN

Stack Overflow用户

发布于 2010-07-26 07:25:03

这意味着,如果您已经使用setCronExpression(CronExpression)调用了TimeZone,那么您指定的TimeZone将被CronExpression的TimeZone覆盖。这是因为CronExpression类包含一个TimeZone。

但是,字符串cron表达式不包含任何时区信息-因此您在setTimeZone中指定的时区仍然有效。

这有意义吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3332929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档