2013-01-14 38 views
3

我們使用Java Timer(Java 1.7)安排一些打印作業。無論DST如何,我們都希望每天在特定時間打印作業。目前,如果我們將作業設置爲在上午4點打印,並且打印時間爲24小時,則它會正確打印,直到DST日期。在秋季DST日,它在3:00 AM而不是4:00進行打印。我怎樣才能解決這個問題?我們希望它在每年的特定時間打印。Java Timer在特定時間安排作業 - 忽略dst調整

回答

1

您將使用java.util.Calendar來獲取時間(Date),因爲Calendar類已經進行了DST調整。請參閱DailyIterator.class如何在Listing 4. DailyIterator class中實施。

+0

感謝您的建議。 – user1978614

0

實現你的TimerTask作爲

class Task extends TimerTask { 

    @Override 
    public void run() { 
     if (Calendar.getInstance().get(Calendar.HOUR_OF_DAY) == 4) { 
      System.out.println(new Date()); 
     } 
    } 
} 

,並安排其在每個小時上運行。任務將決定當前哪個小時是凌晨4點

+0

非常感謝這個想法。 – user1978614