Java基础入门 Calendar类

Calendar类用于日期和时间子段的操作,它可以通过特定的方式设置和读取日期的特定部分,比如年、月、日、时等。Calendar类是一个抽象类,不可以被实例化,在程序中需要调用一个静态方法来得到一个Calendar对象,然后调用其对应的方法,具体示例如下:

Calendar calendar = Calendar.getInstance();

同时Calendar类为操作时间和日期提供了大量的方法,下边列举一些方法

int get(int field) 返回指定日历字段的值
void add(int field,int amount) 根据日历规则,为指定的日历字段增加或减少指定的时间量
void set(int field,int value) 为指定的日历字段设置指定值
void set(int year,int month,int date) 设置Calendar对象的年月日三个字段的信息
void set(int year,int month,int date,int hourOfDay,int  minute,int second) 设置Calendar对象的年月日时分秒六个字段的信息

接下来通过一个程序来学习上面的方法:

import java.util.*;
public class Main{
	public static void main(String[] args)throws Exception{
        Calendar d1=Calendar.getInstance();
        int year=d1.get(Calendar.YEAR);
        int month=d1.get(Calendar.MONTH)+1;
        int date=d1.get(Calendar.DATE);
        int hour=d1.get(Calendar.HOUR);
        int minute=d1.get(Calendar.MINUTE);
        int second=d1.get(Calendar.SECOND);
        System.out.println("当前时间为:"+year+"年"+month+"月"+date+"日"+hour+"时"+minute+"分"+second+"秒");
	}
}

!!!!需要注意的是在获得月份month时需要+1,,原因是月份的起始值时0而不是1

另外结合set方法和add方法接着以程序为例:

import java.util.*;
public class Main{
	public static void main(String[] args)throws Exception{
        Calendar d1=Calendar.getInstance();
        d1.set(2018,7,12);
        d1.add(Calendar.DATE, 30);
        int year=d1.get(Calendar.YEAR);
        int month=d1.get(Calendar.MONTH);
        int date=d1.get(Calendar.DATE);
        System.out.println("竣工时间为:"+year+"年"+month+"月"+date+"日");
	}
}

上面的程序为施工30天后完工的日期;

!!!!!在set方法设置年月日时月份需要特别注意,以上面程序为例,通过set设置的是2018.7.12,但是由于月份从0开始的特殊性,计算机会自动认为输入的是2018.8.12    所以需要特别注意!!!

猜你喜欢

转载自blog.csdn.net/qq_40788630/article/details/81603776
今日推荐