2010-12-17 35 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" 
相關問題