聊聊java的日期处理类

作者: junson | 来源:发表于2016-07-17 17:50 被阅读107次

    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的日期处理类

        本文链接:https://www.haomeiwen.com/subject/khssjttx.html