ZonedDateTime 使用

需要使用UTC时间解决一个问题,neo4j取出来的封装刚好是ZonedDateTime,记录下

Date与ZonedDateTime 互转

Date date=new Date();
ZonedDateTime zdt=ZonedDateTime.ofInstant(date.toInstant(), ZoneId.of("UTC"));
Date.from(zdt.toInstant());

ZoneId.of() 所需的时区名,列表在java.time.format.ZoneName类的zidMap中。

获取当前UTC时间

ZonedDateTime zdt=ZonedDateTime.now(ZoneId.of("UTC"))

LocalDateTime与ZonedDateTime互转

还可以通过给一个LocalDateTime加ZoneId,转成ZonedDateTime:

LocalDateTime ldt = LocalDateTime.of(2021, 3, 19, 10, 55, 10);
ZonedDateTime utc = ZonedDateTime.of(localDateTime, ZoneOffset.UTC);
ZonedDateTime zbj = ldt.atZone(ZoneId.systemDefault());
ZonedDateTime zdt = ldt.atZone(ZoneId.of("UTC"));
LocalDateTime ldt2 = zdt.toLocalDateTime();

转换时区

ZonedDateTime zbj = ZonedDateTime.now();
ZonedDateTime zdt = zbj.withZoneSameInstant(ZoneId.of("UTC"));

Format

String pattern = "yyyy-MM-dd HH:mm:ss";
ZonedDateTime zdt = ZonedDateTime.now();
String fotmatDate = zdt.format(DateTimeFormatter.ofPattern(pattern));
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值