文章目录
概述
Calendar类提供了获取或设置各种日历字段的方法。
创建方式
由于Calendar的构造方法的修饰符为protected
,所以无法直接创建该对象,需要调用getInstance()
方法。
Calendar c = Calendar.getInstance(); //默认是当前日期
Calendar类对象字段类型
常量 | 描述 |
---|---|
Calendar.YEAR | 年份 |
Calendar.MONTH | 月份 |
Calendar.DATE | 日期 |
Calendar.DAY_OF_MONTH | 日期,和上面的字段意义完全相同 |
Calendar.HOUR | 12小时制的小时 |
Calendar.HOUR_OF_DAY | 24小时制的小时 |
Calendar.MINUTE | 分钟 |
Calendar.SECOND | 秒 |
Calendar.DAY_OF_WEEK | 星期几 |
常用方法
方法 | 描述 |
---|---|
static Calendar getInstance() | 使用默认时区和区域设置获取日历 |
void set(int year, int month, int date, int hourOfDay, int minute, int second) | 设置字段中的值YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY,MINUTE和SECOND |
int get(int field) | 返回给定日历字段的值 |
void setTime(Date date) | 使用给定的Date设置此日历的时间 |
Date getTime() | 返回一个Date表示此日历的时间 |
abstract void add(int field, int amount) | 根据日历的规则,给指定字段添加或减少时间量 |
long getTimeInMillis() | 以毫秒为单位返回从1970年1月1日起,此日历的时间值 |
int getMaximum((int field)/int getMinimum((int field) | 获取当前字段最大值/获取当前字段最小值 |
举例
package com.ibelifly.commonclass.calendar;
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
Calendar c=Calendar.getInstance(); //创建一个Calendar对象
System.out.println(c.getTime()); //getTime()方法
System.out.println(c.getTimeInMillis()); //getTimeInMillis()方法
//获取时间信息
int year=c.get(Calendar.YEAR); //获取年
int month=c.get(Calendar.MONTH)+1; //获取月,month的界限在0~11之间,故要+1
int day=c.get(Calendar.DATE); //获取日
int hour=c.get(Calendar.HOUR_OF_DAY); //获取时
int minute=c.get(Calendar.MINUTE); //获取分
int second=c.get(Calendar.SECOND); //获取秒
System.out.println(year+"年"+month+"月"+day+"日"+hour+":"+minute+":"+second);
//修改时间
c.set(Calendar.DATE,28); //set()方法
System.out.println(c.getTime());
c.add(Calendar.HOUR_OF_DAY,-1); //add()方法
System.out.println(c.getTime());
//获取最大值和最小值
System.out.println(c.getMaximum(Calendar.DAY_OF_MONTH));
System.out.println(c.getMinimum(Calendar.DAY_OF_MONTH));
}
}
参考视频:https://www.bilibili.com/video/BV1vt4y197nY?p=29
参考文章:https://www.runoob.com/java/java-date-time.html