首页 > 其他 > 详细

日期 时区问题

时间:2020-06-19 17:16:59      阅读:74      评论:0      收藏:0      [点我收藏+]
Date date = new Date();
Instant instant = date.toInstant();
assertEquals(date.getTime(), instant.toEpochMilli());

ZoneId shZoneId = ZoneId.of("Asia/Shanghai");
ZoneId cgZoneId = ZoneId.of("America/Chicago");

LocalDateTime shLocalDateTime =  LocalDateTime.ofInstant(instant, shZoneId);
LocalDateTime cgLocalDateTime = LocalDateTime.ofInstant(instant, cgZoneId);
assertEquals(shLocalDateTime.getSecond(), cgLocalDateTime.getSecond());
assertEquals(Math.abs(shLocalDateTime.getHour() - cgLocalDateTime.getHour()), 13);

ZonedDateTime shZonedDateTime = ZonedDateTime.of(shLocalDateTime, shZoneId);
ZonedDateTime cgZonedDateTime = ZonedDateTime.of(cgLocalDateTime, cgZoneId);
assertEquals(shLocalDateTime.getSecond(), cgZonedDateTime.getSecond());

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String shDateTimeStr = dateTimeFormatter.format(shZonedDateTime);
String cgDateTimeStr = dateTimeFormatter.format(cgZonedDateTime);
assertFalse(shDateTimeStr.equals(cgDateTimeStr));

不同时区获取的【毫秒数相等】的, 但是显【时间显示会有差异】!!!

日期 时区问题

原文:https://www.cnblogs.com/mengjianzhou/p/13163795.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!