java里面常用的日期处理类:
java里面常用的日期处理类主要有:
- Date
- Calendar
- TimeZone
Date类
date类一般用来处理日期和时间,是java.util.*下的包
主要包含以下构造器:
- Date():生成一个代表当前日期时间的Date对象,该构造器调用底层的system.current.currenttimemillis()函数,所以得到的是一个时间戳对象
- Date(long date):根据long树脂生成一个时间戳对象
- boolean after(Date when)测试日期是否在指定日期when之后
- boolean before(Date when):测试该日期是否在指定的日期when之前
- int compareTo(Date):比较两个日期的大小,后面的时间大于前面的时间的时候返回-1
- boolean equals(Object obj):比较两个时间是否相等,相等返回true
- long getTime():返回时间对应的long时间戳
- void setTime(long time):设置该date对象的时间
Calendar类
Calendar类是一个抽象类,用于表示日历。因为它是一个抽象类,所以不能直接创建实例,只能通过创建Calendar子类,然后将它作为calendar对象使用。但是它提供了几个静态getInstance()方法来获取Calendar对象,这些方法根据timezone ,locate来创建calendar对象
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(date)
Calendar类提供了大量访问,修改日期时间的方法,常用的方法如下:
- void add(int field,int amount):根据日历的规则,为给定的日历字段添加或者减去指定的时间量
- int get(int field)返回指定日历字段值
- int getActualmaximum(int field)返回指定日历字段可能拥有的最大值
- int getActualMinimum(int field)返回指定日历字段可能拥有的最小值
- void roll(int field,int amount)与add方法类似,区别在于加上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)
TimeZone类
TimeZone类是用来设置时区的,计算机中磨人实现是以格林威治时间为标准时间,所以和我们采用的北京时间(东八区)有8个小时的时间差,所以我们需要重新设定时区
timezone类同样是抽象类,不能够直接声明实例对象,但是提供了调用它的静态方法来获取实例:getDefault()或者getTimeZone()得到timezone实例,getTimeZone可以根据id获取对应的时区
主要的方法有:
- static String[] getAvailableIDs()获取java所支持的所有时区id
- static TimeZone getDefault()获得运行机器上默认的时区
- String getDisplayName()获取该timezone对象的时区名称
- String getID()获得该时区的id
- static TimeZone getTimeZone(String ID)获取指定id对应的timezone对象