本文共 1577 字,大约阅读时间需要 5 分钟。
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 所以需要特别注意!!!
转载地址:http://iuohn.baihongyu.com/