`
7tianle
  • 浏览: 95201 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Calendar的使用2(add set roll)方法的区别

阅读更多
例子说明:
假设:f= 2001-1-30
f.add(Calendar.Month, 13) = 2002.2.28
f.set(Calendar.Month,2) =  2002.3.2
f.roll(Calendar.Month, 13) = 2001.2.28
Add:修改后如果符合实际,会调整,但不会改变调整的值,如例子中的MONTH。
Set: 会改变如把2月改为3月。
roll:于Add类似,不同在于不会改变最大的日期单位,如还是2001 不会为2002。
下面为代码演示:
set
1          Calendar calendar = Calendar.getInstance();
2          calendar.set(2001, Calendar.JANUARY, 29);
3          calendar.set(Calendar.MONTH, 13);
4          System.out.println(calendar.getTime());
5    结果是 Fri Mar 01 17:25:53 CST 2002
add
1          Calendar calendar = Calendar.getInstance();
2          calendar.set(2001, Calendar.JANUARY, 29);
3          calendar.add(Calendar.MONTH, 13);
4          System.out.println(calendar.getTime());
结果是Thu Feb 28 17:28:07 CST 2002
roll
1  Calendar calendar = Calendar.getInstance();
2          calendar.set(2001, Calendar.JANUARY, 29);
3          calendar.roll(Calendar.MONTH, 13);
4          System.out.println(calendar.getTime());
结果是Wed Feb 28 17:29:12 CST 2001

转自:http://www.blogjava.net/vincent/archive/2007/10/12/152411.html

ss.set(year-1, month-1, day);
ss.set(year, month-3, day);
ss.set(year, month-1, day-1);
分享到:
评论

相关推荐

    日历calendar详细代码

    2. **设置日期**:`set`方法用于设置年、月、日、小时、分钟等字段。例如,`calendar.set(Calendar.YEAR, 2023)`将设置年份为2023。 3. **获取日期**:对应地,`get`方法用于获取这些字段的值。例如,`int year = ...

    Java Calendar日历类原理及使用方法

    Java Calendar日历类原理及使用方法 Java Calendar日历类是Java语言中的一种日历类,用于处理日期和时间相关的操作。该类提供了许多有用的方法来获取和设置日期和时间的信息。 日历类原理 Java Calendar日历类是...

    calendar 日期推算

    使用`before()`, `after()`或`equals()`方法,可以比较两个`Calendar`对象表示的日期是否早于、晚于或等于另一个日期。 8. **日期计算**: 可以通过`roll()`方法来进行日期的简单计算,如将日期设置为下个星期一...

    Java实现按年月打印日历功能【基于Calendar】

    * 日期计算:使用Calendar类的add()和roll()方法来进行日期的加减运算。 实现按年月打印日历功能 下面是一个Java实现按年月打印日历功能的示例代码: ```java public class CalendarBook { public static void ...

    java中时间操作函数

    可以使用 `setTime` 方法将 `Date` 对象转化为 `Calendar` 对象: ```java Date date = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(date); ``` 格式化输出日期时间 在 Java 中,可以使用 `...

    基于Java的Calendar万年历.zip

    1. **实例化**:如前所述,由于`Calendar`是抽象类,我们通常使用`getInstance()`静态方法来获取一个具体实现的实例,例如: ```java Calendar calendar = Calendar.getInstance(); ``` 2. **日期和时间组件**:...

    java中Calendar类用法实例详解

    Calendar 类提供了 roll 和 add 方法来进行日期和时间的计算,例如: cal.roll(Calendar.MONTH, 3); // 把月份增加 3 cal.add(Calendar.YEAR, -1); // 把年份减少 1 总结: 1. 关于 roll 的计算,cal.roll...

    java API 在包java.util中有一个GregorianCalendar类,使用它可以得到一年内某个月的日历.zip

    此外,`GregorianCalendar`还提供了添加和减去日期字段的方法,如`add`和`roll`。如果你想获取下一个月的日期,可以这样操作: ```java calendar.add(Calendar.MONTH, 1); // 添加1个月 ``` 在`Exercise6_6.java`...

    Java-Date 类的学习总结.pdf

    Java-Date 类的学习总结 Date 类是 Java 语言中用于处理日期和时间的类别,在实际开发中经常会用到。...Date 类和 Calendar 类是 Java 语言中处理日期和时间的核心类别,了解它们的使用方法和特性是非常重要的。

    Java-Date 类的学习总结.docx

    add() 和 roll() 方法是 Calendar 对象的两个重要方法。add() 方法可以将某个字段添加一定的值,例如: ```java Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2006); cal.set(Calendar.MONTH, 8...

    java中的循环日期.pdf

    Calendar 转化为 Date 可以使用 getTime() 方法,而 Date 转化为 Calendar 则可以使用 setTime() 方法。代码示例如下: ```java Calendar cal = Calendar.getInstance(); Date date = cal.getTime(); Date date = ...

    应用源码之Calendar.zip

    3. **日期计算**:Calendar类提供了roll()方法,用于在保持其他字段不变的情况下,向前或向后滚动一个时间单位。例如,可以在保持年份不变的情况下,让月份加一。 4. **时间区域**:Calendar类关联了一个TimeZone...

    java中的循环日期.docx

    在 Java 中,add() 和 roll() 方法是 Calendar 类的两个重要方法。add() 方法用于将指定的日历字段增加或减少指定的值,而 roll() 方法用于将指定的日历字段增加或减少指定的值,但不会改变其他日历字段的值。 ```...

    java Date 学习总结

    `roll()` 方法和 `add()` 方法类似,但是有一个关键区别:当使用 `roll()` 方法增加或减少一个循环域时,如果超过了这个域的最大值或最小值,那么只改变这个域本身,而不会影响其他域的值。例如,当使用 `add()` ...

    java中关于时间日期操作的常用函数

    **注意**:在使用`set`方法之前,通常需要调用`clear`方法来清除Calendar对象中的所有字段,避免之前的数据残留影响结果。 #### 2. `Calendar`与`Date`之间的转换 `Calendar`和`Date`是Java中两种常用的时间表示...

    2021-2022年收藏的精品资料软件工程师Java开发中Date的各种相关用法教程.docx

    这篇文档主要讲解了Date在Java开发中的各种用法,包括计算月份最大天数、Calendar与Date之间的转化、日期时间的格式化输出、计算一年中的第几星期以及add()和roll()方法的使用。 1. 计算某一月份的最大天数: 在...

    Java Calendar类的详解及使用实例

    Calendar类还提供了一些有用的方法,例如get、set、add、roll等,这些方法可以对日历字段进行操作和修改。例如,get方法可以获得当前日期的某个字段的值,set方法可以设置当前日期的某个字段的值,add方法可以将...

    java源码:Calendar万年历.zip

    `Calendar`对象包含多个字段,如年、月、日、小时、分钟等,这些字段可以通过`get()`和`set()`方法进行访问和设置。 在万年历的实现中,开发者可能使用了`Calendar`类的一些关键特性,例如: 1. **月份处理**:`...

    常用java date方法集合

    通过本文,我们将详细了解如何计算特定月份的最大天数、实现`Calendar`与`Date`之间的转换、格式化日期时间、计算一年中的星期数、使用`add()`和`roll()`方法调整日期,以及计算两个日期间的间隔天数。 #### 1. ...

    java日历各种写法

    `Calendar`类还提供了诸如获取周几(`get(Calendar.DAY_OF_WEEK)`)、获取一年中的第几天(`get(Calendar.DAY_OF_YEAR)`)等功能,以及调整日期(`roll()`方法)和判断闰年(`isLeapYear()`方法)等。 总之,Java的...

Global site tag (gtag.js) - Google Analytics