JDK中的Calendar類用于操作日期和時間,可以進行日期的計算、格式化、比較等操作。下面是使用Calendar類的一些常見操作:
Calendar calendar = Calendar.getInstance(); // 獲取一個Calendar實例
Date date = calendar.getTime(); // 獲取當前日期和時間
calendar.set(Calendar.YEAR, 2021); // 設置年份為2021
calendar.set(Calendar.MONTH, Calendar.JANUARY); // 設置月份為1月
calendar.set(Calendar.DAY_OF_MONTH, 1); // 設置日期為1號
calendar.set(Calendar.HOUR_OF_DAY, 12); // 設置小時為12點
calendar.set(Calendar.MINUTE, 0); // 設置分鐘為0
calendar.set(Calendar.SECOND, 0); // 設置秒數為0
int year = calendar.get(Calendar.YEAR); // 獲取年份
int month = calendar.get(Calendar.MONTH); // 獲取月份(從0開始,所以需要加1)
int day = calendar.get(Calendar.DAY_OF_MONTH); // 獲取日期
int hour = calendar.get(Calendar.HOUR_OF_DAY); // 獲取小時
int minute = calendar.get(Calendar.MINUTE); // 獲取分鐘
int second = calendar.get(Calendar.SECOND); // 獲取秒數
calendar.add(Calendar.DAY_OF_MONTH, 7); // 在當前日期的基礎上加7天
calendar.add(Calendar.YEAR, -1); // 在當前日期的基礎上減1年
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(calendar.getTime()); // 格式化為字符串
Calendar otherCalendar = Calendar.getInstance();
otherCalendar.set(Calendar.YEAR, 2022);
otherCalendar.set(Calendar.MONTH, Calendar.JANUARY);
otherCalendar.set(Calendar.DAY_OF_MONTH, 1);
boolean isAfter = calendar.after(otherCalendar); // 判斷當前日期是否在指定日期之后
boolean isBefore = calendar.before(otherCalendar); // 判斷當前日期是否在指定日期之前
這些是Calendar類的一些常見用法,可以根據實際需求進行相應的操作。需要注意的是,Calendar類中的月份是從0開始的,即0表示一月,11表示十二月。