聊聊java的日期处理类

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类提供了大量访问,修改日期时间的方法,常用的方法如下:

  1. void add(int field,int amount):根据日历的规则,为给定的日历字段添加或者减去指定的时间量
  2. int get(int field)返回指定日历字段值
  3. int getActualmaximum(int field)返回指定日历字段可能拥有的最大值
  4. int getActualMinimum(int field)返回指定日历字段可能拥有的最小值
  5. void roll(int field,int amount)与add方法类似,区别在于加上amount后超过了该字段所能表示的最大范围时,也不会向上一个字段进位
  6. void set(int field,int value)将日历字段设置为给定值
  7. void set(int year,int month,int date)设置calendar对象的年,月,日三个字段的值
  8. void set(int year,int month,int date,int hourOfDay,int minute,int second)

TimeZone类

TimeZone类是用来设置时区的,计算机中磨人实现是以格林威治时间为标准时间,所以和我们采用的北京时间(东八区)有8个小时的时间差,所以我们需要重新设定时区
timezone类同样是抽象类,不能够直接声明实例对象,但是提供了调用它的静态方法来获取实例:getDefault()或者getTimeZone()得到timezone实例,getTimeZone可以根据id获取对应的时区
主要的方法有:

  1. static String[] getAvailableIDs()获取java所支持的所有时区id
  2. static TimeZone getDefault()获得运行机器上默认的时区
  3. String getDisplayName()获取该timezone对象的时区名称
  4. String getID()获得该时区的id
  5. static TimeZone getTimeZone(String ID)获取指定id对应的timezone对象

你可能感兴趣的:(聊聊java的日期处理类)