📅  最后修改于: 2023-12-03 15:01:35.499000             🧑  作者: Mango
java.util.Calendar
类是Java中表示日历的抽象基类。它提供了一组用于处理日期和时间的方法。Calendar
类是一个抽象类,意味着不能直接创建Calendar
对象;相反,你应该使用它的子类之一来创建日期和时间实例。
要获取Calendar
实例,你可以使用Calendar.getInstance()
方法。这个方法会返回一个Calendar
对象,其时区和当前日期和时间与主机上的默认Calendar
对象相关。
Calendar calendar = Calendar.getInstance();
你可以使用以下方法来设置Calendar
对象的日期和时间:
set(int year, int month, int dayOfMonth)
set(int year, int month, int dayOfMonth, int hourOfDay, int minute)
set(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
set(int field, int value)
calendar.set(2022, Calendar.JANUARY, 1); // 设置日期为2022年1月1日
calendar.set(Calendar.HOUR_OF_DAY, 12); // 设置小时为12
你可以使用以下方法来获取Calendar
对象的日期和时间:
get(int field)
int year = calendar.get(Calendar.YEAR); // 获取年份
int month = calendar.get(Calendar.MONTH); // 获取月份(注意:月份从0开始)
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // 获取月份中的日期
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY); // 获取小时
int minute = calendar.get(Calendar.MINUTE); // 获取分钟
int second = calendar.get(Calendar.SECOND); // 获取秒
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 获取星期几
Calendar
类还提供了一些方法来进行日期和时间的计算:
add(int field, int amount)
:根据给定的日历字段和指定的数量,将日期或时间添加到Calendar
对象中。roll(int field, int amount)
:根据给定的日历字段和指定的数量,将日期或时间滚动到Calendar
对象中。calendar.add(Calendar.DAY_OF_MONTH, 1); // 将日期向后推一天
calendar.roll(Calendar.HOUR_OF_DAY, 1); // 将小时向后滚动一小时
要将日期和时间以指定的格式输出为字符串,你可以使用SimpleDateFormat
类,结合Calendar
类的实例。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(calendar.getTime());
System.out.println(formattedDate);
以上是java.util.Calendar
类的一些基本用法和功能。通过使用这个类,你可以轻松地处理日期和时间,并编写更具弹性和复杂性的日期计算和操作代码。详细信息可查阅官方文档。