2011-03-26 46 views
0
一個cron表達

假設我傳似2009-07-13T18:00:00創建週刊

我要創建使用Java來得到這樣一個* * 18 13 07 2009表達cron的價值?

你能幫我嗎?

回答

1

crontab(5)表達:

* * 18 13 07 2009 

將執行每個小時的每一分鐘在13月份的第18天,在千零九日的一週。 :)

2009年7月13日,是一個星期一。一個crontab條目執行每週,與作爲起點,將是:

0 18 * * 1 

這將在18:00每星期的第一天執行。 (星期日是0。)

cron沒有「開始」和「停止」日期的概念。事情只會在將來執行。當你希望他們停下來時,你可以刪除條目。這是非常原始的,類似於「本月的倒數第二個星期五」是很麻煩的,但是五個小數字能做的事情是驚人的。

0

你的cron格式不清楚。 * * 18 13 07 2009不是有效的cron條目。

您可以使用SimpleDateFormat將該值轉換爲所需的格式。

因此,就你而言,你可以使用如下的東西。

String s = "2009-07-13T18:00:00"; 
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss"); 
Date d = sf.parse(); 

//now convert to the format you want 
sf = new SimpleDateFormat("* * HH dd mm yyyy"); 
String cronEntry = sf.format(d); 

但在這之前,請檢查您的cron項,並找出到底你想要安裝的cron定時。你給出的例子是無效的。

+0

2009-07-13T18:00:00現在我得到了你的觀點,但它會讓我的格式爲Cron Expression – Jagadish 2011-03-26 07:45:38