美文网首页
Java日期和时间总结

Java日期和时间总结

作者: 编程人生 | 来源:发表于2022-01-02 19:22 被阅读0次

    Java日期和时间总结

    时区:全球一共有24个时区,英国格林尼治是0时区,北京是东八区, 也就是说格林尼治凌晨1点,北京是早上9点.

    时刻:所有计算机内部都用一个整数表示时刻,这个整数是距离格林尼治标准时间1970年1月1日0分0秒的毫秒数.

    Java API 中关于日期和时间,有三个主要的类.

    Date:表示时刻,即绝对时间,与年月日无关

    Calender :表示年历,Calender是一个抽象类,其中表示公立的子类是Gregorian-Calender

    DateFormate:表示格式化,能将日期和时间与字符串进行相互转换,DateFormate也是一个抽象类,其中最常用的子类是

    SimpleDateFormate.

    还有两个相关的类:

    TimeZone:表示时区.

    Locale: 表示国家(或地区)和语言

    Calender类是日期和时间操作的主要类,它表示与TimeZone和Locale相关的日历信息,可以进行各种相关运算.它的内部组成

    protected long time;//表示时刻的毫秒数

    protected int fields[] //这个数组长度是17, 保存一个日期中各个字段的值,这些值都是静态变量如下:

    Calender.Year:表示年

    Calender.MONTH: 表示月

    Calender.DAY_OF_MONTH: 表示日, 每月的第一天

    Calender.HOUR_OF_DAY: 表示小时,为0-23

    Calender.MINUTE :表示分钟

    Calender.SECOND:表示秒

    Calender.MILLISECOND:表示毫秒

    Calender.DAY_OF_WEEK 表示星期几,周日是1,周一是2,周六是7.

    Calender是抽象类,创建对象用静态方法,getInstance方法,会根据TimeZone和Local创建对应的Calender子类对象,在中文系统中

    子类一般是表示公历的GregorianCalender.

    getInstance方法封装了Carlender对象创建的细节.TimeZone和Locale不同,具体的子类可能不同,但都是Calender.这种隐藏对象创建细节的方式,是计算机程序中一种常见的设计模式,它有一个名字,就是工厂方法.

    局限性

    1.Date中的方法参数与常识不符合,过时方法容易被人忽略,产生误用

    2.Carlender操作比较繁琐

    3.DateFormate的线程安全性:不是线程安全的.

    相关文章

      网友评论

          本文标题:Java日期和时间总结

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