时间类(1):
--java.util.Date(基本废弃,Deprecated)
getTime(),返回自从1970.1.1以来的毫秒数
--java.sql.Date(和数据库对应的时间类)
--Calendar是目前程序中最常用的,但是是抽象类
Calendar gc = Calendar.getInstance();
Calendar gc = new GregorianCalendar();
简单工厂模式
时间类(2):
Calendar类的相关函数
-- get(Field) 来获取时间中每个属性的值,注意,月份0-11
-- getTime() 返回相应的Date对象
-- getTimeInMillis() 返回自1970.1.1以来的毫秒数
-- set(Field) 设置时间字段
-- add(field, amount) 根据指定字段增加 / 减少时间
-- roll(field, amount) 根据指定字段增加 / 减少时间,但是不影响上一级的时间段
时间类(3):
Java8推出新的时间API
--java.time包
--旧的设计不好(重名的类、线程不安全等。比如Calendar类是一个线程不安全类)
--新版本优点
(1)不变性,再多线程环境下
(2)遵循设计模式,设计得更好,可扩展性强
时间类(4):
Java8时间包概述:
--java.time包(下面是四个子包):新的Java日期 / 时间API的基础包
--java.time.chrono包:为非ISO的日历系统定义了一些泛化的API
--java.time.format包:格式化和解析日期时间对象的类
--java.time.temporal包:包含一些时态对象,可以用其找出关于日期 / 时间对象的某个特定日期或时间
--java.time.zone包:包含支持不同时区以及相关规则的类
时间类(5):
Java 8中java.time包的主要类:
--LocalDate: 负责日期的类
--LocalTime: 负责时间的类(时分秒 ,纳秒)
--LocalDateTime: LocalDate + LocalTime
--Instant: 时间戳
查看java.time的实例代码:
总结:
--当前多数程序还是使用Calendar类处理时间
--学习Java8的时间新特性并应用