Java的日期与时间

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

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

 ZonedDateTime dateTime = ZonedDateTime.now(); 

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

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

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

 getYear()
getMonth()
getDayOfMonth()
getDayOfWeek()
getDayOfYear()
getHour()
getMinute()
getSecond()
getNano()

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

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

 plusYears()
plusMonths()
plusDays()
plusHours()
plusMinutes()
plusSeconds()
plusNanos()
minusYears()
minusMonths()
minusDays()
minusHours()
minusMinutes()
minusSeconds()
minusNanos()

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

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

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

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

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

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

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

最新文章

  1. 从resfful API设计到加密算法
  2. python3-day2-python基础2
  3. 在github上写个人简历——先弄个主页
  4. selenium grid中的多个线程同步执行
  5. java web名词解释
  6. linux笔记:linux常用命令-目录和文件处理命令
  7. c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;
  8. Careercup - Google面试题 - 4877486110277632
  9. 通过maven添加quartz
  10. JDK_Proxy_InvocationHandler_动态代理
  11. Windows API中几个函数的总结
  12. linux 使用外部设备的(光盘) 安装和更新库
  13. django urls.py更改遇到问题
  14. php 特别的函数
  15. 使用Identity Server 4建立Authorization Server (2)
  16. Spring bean的生命周期详解
  17. Django缓存机制
  18. 【JVM虚拟机】(4)---性能调优
  19. SAP CRM 集类型(Set Type)与产品层次(Product Hierarchy)
  20. P5290 [十二省联考2019]春节十二响

热门文章

  1. linux的chown命令
  2. WinSock基本知识
  3. 载入本地Html文件
  4. Python列表切成多个/生成多个空列表
  5. 前端性能优化--为什么DOM操作慢? 浅谈DOM的操作以及性能优化问题-重绘重排 为什么要减少DOM操作 为什么要减少操作DOM
  6. Delphi中array of const应用
  7. unity4.6 Beta版 UI控件之Button
  8. laravel处理ajax的post提交
  9. Maven环境下搭建SSH框架之Spring整合Hibernate
  10. leetcode第一刷_Binary Tree Zigzag Level Order Traversal