创建日历对象
可以使用 getInstance() 或者使用构造函数 GregorianCalendar 创建日历对象。
需要注意的是,Calendar 中的月份是从零开始的,这意味着 JANUARY 由 int 值 0 表示。
为了提供更好的代码,请始终使用 Calendar 常量,例如 Calendar.JANUARY 以避免误解。
相关文章:如何在 Java 中创建特定日期
Calendar calendar = Calendar.getInstance(); Calendar gregorianCalendar = new GregorianCalendar(); Calendar gregorianCalendarAtSpecificDay = new GregorianCalendar(2014, Calendar.JANUARY, 1); Calendar gregorianCalendarAtSpecificDayAndTime = new GregorianCalendar(2014, Calendar.JANUARY, 1, 6, 55, 10);
注意:始终使用月份常量:数字表示具有误导性,例如Calendar.JANUARY 的值为 0
增加/减少日历字段
add() 和 roll() 可用于增加/减少日历字段。
Calendar calendar = new GregorianCalendar(2014, Calendar.MARCH, 31); //31 March 2014
add() 方法影响所有字段,如果要从日历中添加或者减去实际日期,则该方法有效
calendar.add(Calendar.MONTH, -6);
上述操作从日历中删除了六个月,使我们回到 2014 年 9 月 30 日。
要更改特定字段而不影响其他字段,请使用 roll()。
calendar.roll(Calendar.MONTH, -6);
上述操作从当前月份中删除了六个月,因此将月份标识为九月。
没有调整其他字段;年份并没有因这次行动而改变。
减去日历
要获得两个日历之间的差异,请使用 getTimeInMillis() 方法:
Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c2.set(Calendar.DATE, c2.get(Calendar.DATE) + 1); System.out.println(c2.getTimeInMillis() - c1.getTimeInMillis()); //outputs 86400000 (24 * 60 * 60 * 1000)
判断是上午/下午
使用 Calendar 类很容易找到 AM 或者 PM。
Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); if (cal.get(Calendar.AM_PM) == Calendar.PM) System.out.println("It is PM");
日期:2020-06-02 22:15:15 来源:oir作者:oir