一、獲取當前日期
獲取當前日期是日常開發中最常用的操作之一。Calendar可以輕鬆獲取當前日期,需要使用的類為java.util.Calendar。
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
通過getInstance方法獲取Calendar類的實例,然後分別調用get方法獲取年、月、日的值。
二、獲取指定日期
有時候需要獲取指定日期的年月日,例如需要獲取今天的明天的日期。可以通過設置Calendar類的時間,實現獲取指定日期的目的。
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
通過add方法設置時間偏移量,這裡設置為1,即今天的明天。然後調用get方法獲取年、月、日的值。
三、獲取月末日期
獲取月末日期是比較常見的需求之一,例如需要獲取本月最後一天的日期。可以通過設置Calendar類的時間,實現獲取月末日期的目的。
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DATE, 1);
calendar.roll(Calendar.DATE, -1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
首先使用set方法將日期設置為當月的第一天,然後使用roll方法將日期向前偏移一天,這樣即可獲取當月最後一天的日期。
四、獲取某月第一天日期
有時候需要獲取某月的第一天日期,可以通過設置Calendar類的時間,實現獲取第一天日期的目的。
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DATE, 1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
設置日期為當月的第一天後,即可獲得某月的第一天日期。
五、獲取指定日期所在周的第一天和最後一天日期
有時候需要獲取指定日期所在周的第一天和最後一天日期,可以通過設置Calendar類的時間,實現獲取周邊日期的目的。
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
Date firstDay = calendar.getTime();
calendar.add(Calendar.WEEK_OF_YEAR, 1);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
Date lastDay = calendar.getTime();
首先通過setTime方法設置指定日期,然後設置Calendar類的DAY_OF_WEEK為星期日,獲取周的第一天日期。然後通過add方法將時間偏移一周,再將DAY_OF_WEEK設置為星期六,獲取周的最後一天日期。
總結
通過Calendar類的使用,我們可以輕鬆地獲取當前日期,獲取指定日期,獲取月末日期,獲取某月第一天日期,獲取指定日期所在周的第一天和最後一天日期。在開發過程中,了解並熟練掌握Calendar類的使用,可以為我們的開發帶來許多便利和方便。
原創文章,作者:TQUA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142937.html