Java-很深我只知其一-Calendar類
阿新 • • 發佈:2018-12-05
- 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