JDK8新特性(4):日期时间 API

      几乎所有的增删改查都会需要使用一个属性:时间,所以有必要跟大家讲下jdk8的时间类怎么用,之前的time api有什么不好的地方。

旧版本的Date    

  1: 线程不安全的,如果你定义了一个全局静态的时间变量或许猛不丁的就会给你来一条脏数据。所以大家在开发时候定义全部变量时候,一定要先去了解这个对象是不是线程安全的。

  2:设计不合理,之前同事让我帮他看一个sql,他的条件是 某字段 <= new Date(System.currentTimeMillis())   但是这个条件的结果都小到了今天的凌晨0点,想要的结果是小于当前时间。看了半天 他引入的类是java.sql.Date........ 所以说这个类的命名不好,很不好!

  3:时区处理麻烦 ,日期类并不提供国际化,没有时区支持,因此Java引入了java.util.Calendar和java.util.TimeZone类,但他们同样存在上述所有的问题。

JDK8-Date

    先看下有哪些类

JDK8新特性(4):日期时间 API

JDK8新特性(4):日期时间 API

本地日期;本地时间;本地日期时间

如果页面字符串展示,他的格式基本直接可以满足你的需求。

我们时间字段都是必须要定义成long类型,但是LocalDate转换long还不是太友好,但是功能更多,需要指定市区,大家可以封装一下,默认一下市区就好一点了

JDK8新特性(4):日期时间 API

JDK8新特性(4):日期时间 API

这是jdk8新增的类,

都比较有用,我们可以每个都看下他都实现了哪些方法,

 例如算两个时间点相差的天数

        获取该日期时间的日期数据或者时间数据

        当前时间加一天后的时间值

        减两个小时的时间值等等。。。

大家根据自己的业务场景,封装一些时间类一定会提高你们团队的开发效率的!

转载于:https://my.oschina.net/jsonyang/blog/1928503