OffsetDateTime,使用UTC(Zulu)具有不同的偏移量到OffsetDateTime [重复]

问题描述 投票:-2回答:1

此问题已经在这里有了答案:

我在数据库中保存的值具有不同的偏移量,例如

`2018-03-26T03:00:00+03:00`
`2018-03-26T03:00:00+02:00`

我想将它们解析为base值,应将其偏移为0,以便进行更轻松的比较,而且还使日期真正可读(这意味着我想保留Offset,而不是例如即时) 。

如何用正确的日期传输(我的意思是,不仅将2更改为0,而且正确计算日期和时间,将具有偏移量的OffsetDateTime解析为+00偏移量(称为UTCZULU) )。

java time java-8 timezone utc
1个回答
0
投票

当您知道如何时,这很容易:

    String dateTimeFromDatabase = "2018-03-26T03:00:00+03:00";
    OffsetDateTime dateTime = OffsetDateTime.parse(dateTimeFromDatabase)
            .withOffsetSameInstant(ZoneOffset.UTC);
    System.out.println("With offset 0: " + dateTime);

输出为:

偏移量为0:2018-03-26T00:00Z

我不明白您为什么介意获得Instant。打印为2018-03-26T00:00:00Z。唯一的不同是即使00也包含秒。

链接: Documentation of OffsetDateTime.withOffsetSameInstant()

© www.soinside.com 2019 - 2024. All rights reserved.