gpt4 book ai didi

java - Joda Interval 丢失时区信息

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:02 25 4
gpt4 key购买 nike

我正在定义一个 Joda 区间,如下所示:

final DateTimeZone fromDtz = DateTimeZone.forID("Europe/Paris");
final DateTime fromDt = DateTime.parse("2013-08-08T01:02:03+0200").withZone(fromDtz);
final DateTimeZone toDtz = DateTimeZone.forID("Europe/London");
final DateTime toDt = DateTime.parse("2013-08-08T01:02:05+0100").withZone(toDtz);
final Interval interval = new Interval(fromDt, toDt);

但是,我似乎丢失了间隔结束时的时区信息。如果我在收到的时间间隔内执行一个简单的 toString():

2013-08-08T01:02:03.000+02:00/2013-08-08T02:02:05.000+02:00

缺少我试图保留的一些信息(时间间隔结束时日期时间的特定时区)。

我浏览了文档和源代码,似乎 Interval 只包含一个年表。有没有办法告诉 Joda 保留两个时区,而无需手动在两个单独的 DateTime 之间移动?

最佳答案

从根本上说,间隔是两个瞬间之间的时间 - 瞬间没有年表、时区等。它们只是通用时间线上的点 - 自纪元以来的毫秒数. ReadableInterval 公开 getChronology 的事实完全是一个设计缺陷,IMO - 但实际上只有 一个 这样的年表。如果您想保留比这更多的信息,我相信您需要使用自己的类型。

对于您真正想使用 Joda Time Interval 方法的地方,它可能就像开始/结束对和 toInterval() 方法一样简单,但我不要认为 Joda Time 中有任何内置的东西可以做你想做的事。

关于java - Joda Interval 丢失时区信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18404433/

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