Java-Calendar(日历)类

Calendar 类

是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

创建一个代表系统当前日期的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月        MINUTEDAY_OF_WEEK周几
DATESECOND/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


版权声明:本文为qq_51534884原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。