2010-12-17 60 views
8

我要寻找一个像cron expression45 17 7 6 * *每年在17:45转换成,6月7日解析器解析器应调整为其他语言。第一步是德语。将cron表达式转换为好的描述字符串?有没有JAVA和Objective-C的库?

是否有一个

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

请参阅here的用例。

+1

听起来有点像“做我的工作对我来说”的问题......请尝试去除,比如像“我需要......”,“我们需要它。 ..“,”它需要......“,并尝试用”我正在寻找...“的东西替换它们。 – Jasarien 2010-12-17 09:55:56

+0

Thx!对不起,我忘记了我的“社交”英语。 I 在讲英语的国家工作! ;)但是,我仍然不想重新发明轮子。因此,我正在寻找已经开发和测试现有解决方案,以解决我在此平台上遇到的问题 – OneWorld 2010-12-17 10:52:30

+1

[Cron to human readable string]可能重复(http://stackoverflow.com/questions/1235532/cron-to-human-readable-string) – 2012-01-11 02:28:42

回答

7
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: * 
+1

好吧,这似乎是开发人员的转储。 Thx,为了向我展示这个班级,这是把琴弦当作物体的好方法。我正在调查那里多一点。但是,我无法将此转储显示给Android用户。 – OneWorld 2010-12-17 11:20:53

+0

'我无法将这个转储呈现给Android用户.'没有得到这一点,你想要一个特定于android的lib? – 2010-12-17 11:22:10

+1

不是。但想象一下,您可以在小型智能手机屏幕上看到此转储。 – OneWorld 2010-12-17 12:37:52

1

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

您将找到所需的解析器,但必须编写代码才能在需要时打印字符串。 开始通过创建一个SchedulingPattern对象:

new SchedulingPattern("0 30 10-13 ? * 1,2,5") 
1

您可能会发现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" 
相关问题