Sav*_*sis 16 java cron quartz-scheduler
我正在使用Quartz with Java来安排工作.有一件事是我将cron表达式存储在数据库中,我想将它们呈现给用户,但是更具可读性.所以我想知道是否有一个实用程序可以将cron表达式转换为人类可读的字符串.就像是 :
""0 30 10-13?*WED,FRI"将成为"每周三和周五10:30,11:30,12:30和13:30发生火灾."
小智 26
将cron表达式转换为人类可读字符串的Java库:https://github.com/RedHogs/cron-parser
小智 10
是的,我确实理解了你的问题.但我应该更好地解释我的答案.
不,我不知道任何可以帮助你以"人类"可读形式获得cron表达的工具.但是通过访问CronExpression,您可以创建自己的.
试着打电话
cronTrigger.getExpressionSummary()
Run Code Online (Sandbox Code Playgroud)
关于cron表达式:
"0/2 * * 4 * ?"
Run Code Online (Sandbox Code Playgroud)
它返回以下字符串:
seconds: 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58
minutes: *
hours: *
daysOfMonth: 4
months: *
daysOfWeek: ?
lastdayOfWeek: false
nearestWeekday: false
NthDayOfWeek: 0
lastdayOfMonth: false
calendardayOfWeek: false
calendardayOfMonth: false
years: *
Run Code Online (Sandbox Code Playgroud)
通过访问CronExpression对象,您可以创建自己的"人类"表达式.
cron-utils可能对这项任务很有用,因为它提供了人类可读的描述,并且不需要完全成熟的调度程序来提供它们。有据可查并支持多种 cron 格式。
在文档中的代码片段下方:
//create a descriptor for a specific Locale
CronDescriptor descriptor = CronDescriptor.instance(Locale.UK);
//parse some expression and ask descriptor for description
String description = descriptor.describe(parser.parse("*/45 * * * * *"));
//description will be: "every 45 seconds"
Run Code Online (Sandbox Code Playgroud)