2010-10-29 195 views
0

以下操作有什麼區別嗎? (提前當前日期爲160天)x日期提前日曆

Calendar c = Calendar.getInstance(); 
    c.add(Calendar.DAY_OF_WEEK, 160); 
    System.out.println(c); 

    Calendar c0 = Calendar.getInstance(); 
    c0.add(Calendar.DAY_OF_MONTH, 160); 
    System.out.println(c0); 

    Calendar c1 = Calendar.getInstance(); 
    c1.add(Calendar.DAY_OF_YEAR, 160); 
    System.out.println(c1); 

我沒有發現任何區別。那麼,我應該使用哪個日曆呢?

回答

1

如果最終結果相同,那麼閱讀代碼的人最直觀,我會說這是Calendar.DAY_OF_YEAR

0

檢查Calendar Javadoc似乎表明,當你在做一個add(field,delta)時,你真的添加了指定數量的字段類型。由於這三種類型是以天爲基礎的,結果是一樣的。正如@bemace所說,使用最直觀的常量。