gpt4 book ai didi

java - 在 joda time 如何在不更改时间的情况下转换时区

转载 作者:IT老高 更新时间:2023-10-28 20:27:50 28 4
gpt4 key购买 nike

我正在从数据库中获取 UTC 时间戳,我将其设置为 JodaTime DateTime 实例

DateTime dt = new DateTime(timestamp.getTime());

它完美地存储了 10:00 AM 的时间,但带有本地时区。例如,我在 IST 时区,距 UTC +5:30

我已经尝试了很多方法来更改时区,但每件事都会通过使用 +5:30 时差将时间从 10:00 AM 更改为其他时间

有什么方法可以在不影响当前时间的情况下更改 TimeZone

编辑:如果我现在的时间是:

2013-09-25 11:27:34 AM      UTC

以下是我使用这个new DateTime(timestamp.getTime());

时的结果
2013-09-25 11:27:34 AM  Asia/Kolkata

以下是我使用此 new DateTime(timestamp.getTime(), DateTimeZone.UTC);

时的结果
2013-09-25 05:57:34 AM  UTC

最佳答案

你可以使用类 LocalDateTime

LocalDateTime dt = new LocalDateTime(t.getTime()); 

并将 LocalDateTime 转换为 DateTime

DateTime dt = new LocalDateTime(timestamp.getTime()).toDateTime(DateTimeZone.UTC);  

Joda DateTime 将任何以毫秒为单位的时间视为“当前时区自 1970 年以来的毫秒”。因此,当您创建 DateTime 实例时,它是使用当前时区创建的。

关于java - 在 joda time 如何在不更改时间的情况下转换时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19002978/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com