9

我正在寻找一个解析器,它可以将cron表达式45 17 7 6 * *转换为每年,6 月 7 日 17:45解析器应该可以调整为其他语言。第一步是德语。

有没有图书馆

  • 基于JAVA的Android项目
  • 基于 Objective-C 的 Iphone 项目。

有关用例,请参见此处

4

3 回答 3

8
cronTrigger.getExpressionSummary()

例子:

    CronTrigger t = new CronTrigger();
    t.setCronExpression("0 30 10-13 ? * WED,FRI");
    System.out.println(""+t.getExpressionSummary());

输出:

seconds: 0
minutes: 30
hours: 10,11,12,13
daysOfMonth: ?
months: *
daysOfWeek: 4,6
lastdayOfWeek: false
nearestWeekday: false
NthDayOfWeek: 0
lastdayOfMonth: false
years: *
于 2010-12-17T09:52:55.967 回答
3

您可能会发现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"
于 2015-10-20T09:35:43.477 回答
2

在 Java 中,看看 cron4j http://www.sauronsoftware.it/projects/cron4j/

你会找到你需要的解析器,但是你必须编写代码来打印你需要的字符串。首先创建一个 SchedulingPattern 对象:

new SchedulingPattern("0 30 10-13 ? * 1,2,5")
于 2011-03-16T00:25:07.210 回答