2010-10-29 106 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所说,使用最直观的常量。