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表示十二月。