提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
上次介绍了使用 Date 类获取计算机的当前日期和时间,但是 Date 类输出的日期格式并不符合中国的日期标准格式,这是因为 Date 类在设计之初没有考虑国际化的问题,所以从JDK 1.1开始Java提供了 Calendar类,用 Calendar类中的方法取代了 Date类的相应功能。Calendar类也用于完成日期和时间字段的操作,它可以通过特定的方法设置和读取日期和时间的特定部分,如年、月、日、时、分、秒等。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Calendar类
- 1Calendar类是一个抽象类,不可以被实例化,如果想在程序中获取一个 Calendar 实例则需要调用 Calendar 类的静态方法 getInstance()。通过调用 getInstance()方法获取Calendar 实例的具体示例如下:
Calendar calendar = Calendar.getInstance();
- 2Calendar类的采常用方法
方法声明 | 功能描述 |
---|---|
int get (int filed) | 返回指定日历字段field的值 |
void add(int filed,int mount ) | 根据日历规则,为指定的日历字段增加或减去指定的时间量 |
void set (int filed,int value ) | 将指定日历字段的值设为value |
void set(int year,int month,int date) | 设置Calendar对象的年月日3个字段的值 |
void set(int year,int month ,int hourOfDay,int minute,int second) | 设置Calendar对象的年月日时分秒6个字段的值 |
表 中的大多数方法都用到了int 类型的参数 field,该参数需要接收 Calendar 类中定义的常量值,这些常量值分别表示不同的字段,Calendar 类常用的常量值如下:
Calendar.YEAR:用于获取当前年份。
Calendar.MONTH:用于获取当前月份。需要注意的是,在使用 Calendar.MONTH字段时。月份的起始值从 0开始,而不是从1开始,因此要获取当前的月份,需要在Calendar.MONTH的基础上加1。
Calendar.DATE:用于获取当前的日
Calendar.HOUR:用于获取当前的时
Calendar.MINUTE:用于获取当前的分
Calendar.SECOND:用于获取当前的秒
二、使用步骤
用Calender类获取当前计算机的日期和时间以及对时间进行修改操作。
import java.util.Calendar;
public class CalenderMain {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();//获取表示当前日期和时间的Calendar对象
int year = calendar.get(Calendar.YEAR); //获取当前年份
int month = calendar.get(Calendar.MONTH); //获取当前月份
int date= calendar.get(Calendar.DATE); //获取当前的日
int hour = calendar.get(Calendar.HOUR); //获取当前的时
int minute = calendar.get(Calendar.MINUTE); //获取当前的分
int second = calendar.get(Calendar.SECOND); //获取当期的秒
System.out.println("当前时间为:"+year+"年"+month+"月"+date+"日"+hour+"时"+minute+"分"+second+"秒");
System.out.println("------------------------");//分隔符
//如果需要对日期进行增加的修改,如下列代码
calendar.add(Calendar.DATE,100);//对天数增加100天,当天数累加至当月的最大值时,如果继续累加,则Calendar.DATE的天数就会从1开始计数,同时月份值会自动加一。如果需要对年或其他进行增加时改动括号中DATE即可
int year1 = calendar.get(Calendar.YEAR); //获取修改后年份
int month1 = calendar.get(Calendar.MONTH); //获取修改后月份
int date1= calendar.get(Calendar.DATE); //获取修改后的日
int hour1 = calendar.get(Calendar.HOUR); //获取修改后的时
int minute1 = calendar.get(Calendar.MINUTE); //获取修改后的分
int second1 = calendar.get(Calendar.SECOND); //获取修改后的秒
System.out.println("修改后时间为时间为:"+year1+"年"+month1+"月"+date1+"日"+hour1+"时"+minute1+"分"+second1+"秒");
}
}
运行结果如下图
总结
对于Calendar类,只需要了解如何设置和读取日期的特点部分即可。