QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 2160|回复: 0

[JAVA/JSP] Java8中ZonedDateTime与Timestamp的相互转换

[复制链接]

等级头衔

积分成就    金币 : 2841
   泡泡 : 1516
   精华 : 6
   在线时间 : 1294 小时
   最后登录 : 2024-11-21

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老

联系方式
发表于 2020-12-5 11:33:12 | 显示全部楼层 |阅读模式
       Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneId,ZonedDateTime是用来处理时区相关的时间。
4 V4 L8 T6 u1 j6 {& S 1.jpg ) }" \8 h0 [3 L, W
1. ZonedDateTime->时间戳
# x! d3 R6 i' G, X  t+ p: w
  1. package com.mkyong.jdbc;
  2. import java.sql.Timestamp;
  3. import java.time.ZonedDateTime;
  4. public class TimeExample1 {
  5.     public static void main(String[] args) {
  6.         ZonedDateTime now = ZonedDateTime.now();
  7.         // 1. ZonedDateTime to TimeStamp
  8.         Timestamp timestamp = Timestamp.valueOf(now.toLocalDateTime());
  9.         // 2. ZonedDateTime to TimeStamp , no different
  10.         Timestamp timestamp2 = Timestamp.from(now.toInstant());
  11.         System.out.println(now); // 2019-06-19T14:12:13.585294800+08:00[Asia/Kuala_Lumpur]
  12.         System.out.println(timestamp); // 2019-06-19 14:12:13.5852948
  13.         System.out.println(timestamp2); // 2019-06-19 14:12:13.5852948
  14.     }
  15. }
输出量:
. }& d" t" ^7 ] 2.jpg
/ _! A2 w& u/ {& V3 Q2 ~7 ^3 {( o2.时间戳-> ZonedDateTime
# W8 {, M" G4 m" S: u8 D4 v- r
  1. package com.mkyong;
  2. import java.sql.Timestamp;
  3. import java.time.Instant;
  4. import java.time.LocalDateTime;
  5. import java.time.ZoneId;
  6. import java.time.ZonedDateTime;
  7. public class TimeExample2 {
  8.     public static void main(String[] args) {
  9.         Timestamp timestamp = Timestamp.from(Instant.now());
  10.         LocalDateTime localDateTimeNoTimeZone = timestamp.toLocalDateTime();
  11.         ZonedDateTime zonedDateTime1 = localDateTimeNoTimeZone.atZone(ZoneId.of("+08:00"));
  12.         ZonedDateTime zonedDateTime2 = localDateTimeNoTimeZone.atZone(ZoneId.of("Asia/Kuala_Lumpur"));
  13.         ZonedDateTime zonedDateTime3 = localDateTimeNoTimeZone.atZone(ZoneId.systemDefault());
  14.         ZonedDateTime zonedDateTime4 = localDateTimeNoTimeZone.atZone(ZoneId.of("-08:00"));
  15.         System.out.println(timestamp); // 2019-06-19 14:08:23.4458984
  16.         System.out.println(zonedDateTime1); // 2019-06-19T14:08:23.445898400+08:00
  17.         System.out.println(zonedDateTime2); // 2019-06-19T14:08:23.445898400+08:00[Asia/Kuala_Lumpur]
  18.         System.out.println(zonedDateTime3); // 2019-06-19T14:08:23.445898400+08:00[Asia/Kuala_Lumpur]
  19.         System.out.println(zonedDateTime4); // 2019-06-19T14:08:23.445898400-08:00
  20.     }
  21. }
输出量:- L) Z- \0 [, @/ I3 j" d
3.jpg , H: ?  C% S2 {/ `- ]2 E/ x+ i2 s
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2024-11-22 08:14

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表