📜  Java.util.Calendar类(1)

📅  最后修改于: 2023-12-03 15:01:35.499000             🧑  作者: Mango

Java.util.Calendar类介绍

java.util.Calendar类是Java中表示日历的抽象基类。它提供了一组用于处理日期和时间的方法。Calendar类是一个抽象类,意味着不能直接创建Calendar对象;相反,你应该使用它的子类之一来创建日期和时间实例。

1. 获取Calendar实例

要获取Calendar实例,你可以使用Calendar.getInstance()方法。这个方法会返回一个Calendar对象,其时区和当前日期和时间与主机上的默认Calendar对象相关。

Calendar calendar = Calendar.getInstance();
2. 日期和时间操作
2.1 设置日期和时间

你可以使用以下方法来设置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
2.2 获取日期和时间

你可以使用以下方法来获取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); // 获取星期几
3. 日期和时间计算

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); // 将小时向后滚动一小时
4. 日期格式化

要将日期和时间以指定的格式输出为字符串,你可以使用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类的一些基本用法和功能。通过使用这个类,你可以轻松地处理日期和时间,并编写更具弹性和复杂性的日期计算和操作代码。详细信息可查阅官方文档