Java时间:将日期和时间保留到其他时区

时间:2019-04-02 10:08:04

标签: java java-time

是否可以在其他时区获得相同的日期和时间?

我的意思是,目前,我正在从数据库中获取zulu日期时间。这是:

  

2019-04-02T00:00:00Z

我需要将日期和时间保留在其他时区(ZoneId.systemDefault())中。我想得到:

  

2019-04-02T00:00:00 + 02:00 [欧洲/马德里]

能得到吗?

1 个答案:

答案 0 :(得分:4)

可以,而且很容易做到。

final String dateStr = "2019-04-02T00:00:00Z";
final ZonedDateTime date = ZonedDateTime.parse(dateStr);
final ZonedDateTime zonedDateTime = date.withZoneSameLocal(ZoneId.systemDefault());

输出:

date:          2019-04-02T00:00Z
zonedDateTime: 2019-04-02T00:00+02:00[Europe/Rome]

withZoneSameLocal在发挥作用

  

返回具有不同时区的该日期时间的副本,并保留   本地日期时间。