美文网首页
Java 8 之 Time

Java 8 之 Time

作者: Joker__k | 来源:发表于2019-03-28 02:26 被阅读0次

    Java 8 出来好久了,但是好多人还不太会用它的新特性,那我们今天来讲一讲Java 8的Time

    为什么要使用Java 8 Time呢?

    Java之前的Date类太老了,日历类又不方便,很多人在项目中总喜欢在util包下建一个DateUtil,里面放一些辟如比较2个时间的前后啊,获取下一个月的第一天时间等等的方法,有些公司的中间件团队也会整理一下大而全的DateUtil供整个公司使用,但是有了Java 8 的Time后,我们就可以对DateUtil说拜拜了

    话说JodaTime是Java 8 Time的前身

    Java 8的时间类主要在java.time包下面,主要会使用到的类有

    • LocalDateTime
    • LocalDate
    • LocalTime
    • ZonedDateTime

    LocalDate代表的是本地日期,例如2019-11-11

    LocalTime代表的是本地的时间,例如11:11:11

    LocalDateTime = LocalDate + LocalTime,例如2019-11-11T11:11:11(默认的时间格式就是ISO-8601) 其实源码里LocalDateTime类里就是保持了这2个对象

    这四个类里,Local打头的都是不带时区的,只有ZonedDateTime带时区的

    ZonedDateTime zonedDateTime = LocalDateTime.now().atZone(ZoneId.systemDefault());
    zonedDateTime.toLocalDate();
    zonedDateTime.toLocalDateTime();
    zonedDateTime.toLocalTime();
    

    我们可以通过LocalDateTime + 一个时区转换到ZonedDateTime,如上面第一行所示

    也可以通过ZonedDateTime直接转换到LocalDateTime

    未完待续!!!

    相关文章

      网友评论

          本文标题:Java 8 之 Time

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