- Calendar类一般用其获取时间,和设定时间使用,不仅如此,还可以区分东西方星期
- 首先Calendar类继承了Objectimplements,Serializable,Cloneable,Comparable<Calendar>
- 同时Calendar 是被 public 和 abstract 修饰的 所以,我们不能直接通过new 获取实例对象
- 需要通过其子类获取实例对象 :
- 获取当前时间操作:
-
public class DemoOfChenyb { Calendar calendar = null; @Before public void test() { calendar = Calendar.getInstance(); } // 基本用法,获取年月日时分秒星期 @Test public void test1() { // 获取年 int year = calendar.get(Calendar.YEAR); // 获取月,这里需要需要月份的范围为0~11,因此获取月份的时候需要+1才是当前月份值 int month = calendar.get(Calendar.MONTH) + 1; // 获取日 int day = calendar.get(Calendar.DAY_OF_MONTH); // 获取时 int hour = calendar.get(Calendar.HOUR); // int hour = calendar.get(Calendar.HOUR_OF_DAY); // 24小时表示 // 获取分 int minute = calendar.get(Calendar.MINUTE); // 获取秒 int second = calendar.get(Calendar.SECOND); // 获取星期 int weekday = calendar.get(Calendar.DAY_OF_WEEK); } }
- 时间设定
- 三个参数 :年,月,日
- calendar.set(2018, 10, 10);
- 两个参数
- 第一个参数指定你要传参的类型 Key
- 年/Calendar.YEAR 月/Calendar.MONTH 日/Calendar.DAY_OF_MONTH
- 第二个参数 Value 如:
calendar.set(Calendar.YEAR, 2018);
calendar.set(Calendar.MONTH , 7);
现在获取的值,比如年,月,日时间就是我们提前设定好的了
- 还可以在原有基础上追加我们的操作
- 当前天数操作 当然,年/月 都可以
calendar.add(Calendar.DATE, -1)
- 例子: 获取2018年7月的最后一天
calendar.set(calendar.get(Calendar.YEAR), 8, 1);//这里我们先获取下一个月的第一天
calendar.add(Calendar.DATE, -1);//追加操作,原日期 减少一天,就是我们想要的7月最后一天
Chenyb 随笔记录,方便学习
2018-10-26