gpt4 book ai didi

java - 为什么 Joda Time 允许 Period 构造函数采用两个 LocalTimes 但没有这样的 Duration 构造函数?

转载 作者:行者123 更新时间:2023-11-30 09:46:38 25 4
gpt4 key购买 nike

为什么 Joda Time 允许 Period 构造函数采用两个 LocalTimes 但没有这样的 Duration 构造函数?

我想知道,因为它可能有助于我理解 Joda Time 的最佳使用方式。

这是我的想法:Duration 适用于不了解社交惯例的应用程序,而缺乏意识是它与 Period 的不同之处。 LocalTime 适合约定俗成的使用,因为它没有时区。这表明 Duration 应该与 LocalTime 一起使用,反之亦然。

最佳答案

Duration 是两个精确的 Instant 之间的时间量(完全独立于年、日和秒等人类概念)。然而,LocalTime 表示不明确的时间点(它们需要日期和时区来定义 Instant)。

说两个 LocalTime< 之间有一个“标准持续时间”(假设没有夏令时、没有闰年、没有闰秒(诚然,Joda 年表不支持)的持续时间)是有道理的s,但没有足够的信息来计算“真实持续时间”。我怀疑这就是 Duration 没有那个构造函数的原因。

例如,假设我们有两个 LocalTimes:一个代表凌晨 1:00 和凌晨 4:00。 99% 的情况下,说持续时间为 3 小时是合理的。但是,如果它们表示夏令时切换当天的时间,则持续时间将为 2 小时或 4 小时。

Period 的定义更广泛,在两个部分定义的时间之间有一个时间段是有意义的,例如 LocalTime(示例中仅为“3 小时”) . Period 很容易对应于标准持续时间,因此只需调用 period.toStandardDuration()

关于java - 为什么 Joda Time 允许 Period 构造函数采用两个 LocalTimes 但没有这样的 Duration 构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7048169/

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