Calendar
类
是一个抽象类,它为特定瞬间与一组诸如 YEAR
、MONTH
、DAY_OF_MONTH
、HOUR
等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
创建一个代表系统当前日期的Calendar对象
Calendar instance = Calendar.getInstance();//默认当前时间
一、成员方法
void set(int year, int month, int date, int hourOfDay, int minute, int second) | 设置字段年、月、日、月、时、分、秒。 |
void setTime(Date date) | 使用给定的 Date 设置此 Calendar 的时间。 |
int get(int field) | 返回给定日历字段的值。 |
Date getTime() | 返回一个从历元至现在的毫秒偏移量的 Date 对象。 |
long getTimeInMillis() | 返回此 Calendar 的时间值,以毫秒为单位。 |
int getActualMaximum(int field) | 返回指定日历字段可能拥有的最大值。 |
二、日历字段
YEAR | 年 | HOUR_OF_DAY | 时(24) | Hour | 时(12) |
MONTH | 月 | MINUTE | 分 | DAY_OF_WEEK | 周几 |
DATE | 日 | SECOND/MILLISECOND | 秒/毫秒 | DAY_OF_YEAR | 一年的第多少天 |
注意:DAY_OF_WEEK一周的第一天是从周日开始
三、例子:
import java.util.Calendar;
public class CalendarStudy {
public static void main(String[] args) {
int[] week = {7, 1, 2, 3, 4, 5, 6};
Calendar instance = Calendar.getInstance();
//instance.set(2022,9,26);设置时间
int year = instance.get(Calendar.YEAR);//年
int month = instance.get(Calendar.MONTH) + 1;//月
int date = instance.get(Calendar.DATE);//日
int homeOfDay = instance.get(Calendar.HOUR_OF_DAY);//时
int minute = instance.get(Calendar.MINUTE);//分
int second = instance.get(Calendar.SECOND);//秒
int dayOfWeek = week[instance.get(Calendar.DAY_OF_WEEK) - 1];
int MaxDate = instance.getActualMaximum(Calendar.DATE);//一个月有多少天
System.out.println(year + "-" + month + "-" + date + " " + homeOfDay + ":" + minute + ":" + second + " 星期" + dayOfWeek);
System.out.println("当月有多少天:" + MaxDate);
}
}
以上实例编译运行结果如下:
2022-9-24 22:38:13 星期6
当月有多少天:30