zoukankan      html  css  js  c++  java
  • java.time.ZonedDateTime

        Java的日期与时间

      ZonedDateTime类是Java 8中日期时间功能里,用于表示带时区的日期与时间信息的类。可以用于表示一个真实事件的开始时间,如某火箭升空时间等等。
      ZonedDateTime 类的值是不可变的,所以其计算方法会返回一个新的ZonedDateTime 实例。


      1.创建一个ZonedDateTime实例
      有多种方式可以新建ZonedDateTime实例。比如使用当前时间作为值新建对象:

    1 ZonedDateTime dateTime = ZonedDateTime.now(); 

    另一种方式是使用指定的年月日、时分秒、纳秒以及时区ID来新建对象:

    1 ZoneId zoneId = ZoneId.of("UTC+1");
    2 ZonedDateTime dateTime2 = ZonedDateTime.of(2015, 11, 30, 23, 45, 59, 1234, zoneId);

      2.访问ZonedDateTime对象的时间
      你可以通过这些方法访问其日期时间:

    1 getYear()
    2 getMonth()
    3 getDayOfMonth()
    4 getDayOfWeek()
    5 getDayOfYear()
    6 getHour()
    7 getMinute()
    8 getSecond()
    9 getNano()

      这些方法中有一些返回int有一些返回枚举类型,但可以通过枚举类型中的getValue()方法来获得int值。


      3.ZonedDateTime的计算
      ZonedDateTime类包含一系列方法,能帮你完成时间计算:

     1 plusYears()
     2 plusMonths()
     3 plusDays()
     4 plusHours()
     5 plusMinutes()
     6 plusSeconds()
     7 plusNanos()
     8 minusYears()
     9 minusMonths()
    10 minusDays()
    11 minusHours()
    12 minusMinutes()
    13 minusSeconds()
    14 minusNanos()

      但注意计算时,若不巧跨越了夏令时(会补一小时或减一小时),可能得不到希望的结果。一个替代的正确做法是使用Period:

    1 ZonedDateTime zoneDateTime = previousDateTime.plus(Period.ofDays(3));

     

      4.时区
      时区是用ZoneId类表示的,你可以使用ZoneId.now()或ZoneId.of(“xxx”)来实例化:

    1 ZoneId zoneId = ZoneId.of("UTC+1");

      传给of()方法的参数是时区的ID,如“UTC+1”指距离UTC(格林威治时间)有一小时的时差,你可以使用你想要的时差来表示ZoneId(如+1与-5等等)
      你也可以使用另一种方式表示zone id,即使用地区名字,也是可以的:

    1 ZoneId zoneId2 = ZoneId.of("Europe/Copenhagen");
    2 ZoneId zoneId3 = ZoneId.of("Europe/Paris");

      参考:http://blog.csdn.net/tjgykhulj/article/details/69053947

  • 相关阅读:
    SpringBoot最新教程IDEA版【狂神说Java系列】
    Mybatis最新完整教程IDEA版【通俗易懂2019.11月】
    freemarker 数字格式化(金额格式化)
    idea皮肤插件
    Spring Security 自定义表单登录页
    Spring Security 用户配置
    Spring Security 初体验
    Tomcat 部署 Spring Boot工程
    服务器安装Ngnix
    java读取配置文件
  • 原文地址:https://www.cnblogs.com/jin-zhe/p/8259524.html
Copyright © 2011-2022 走看看