我们在Java中是否有TimeSpan类

2022-08-31 17:18:21

我只是想知道是否需要TimeSpan,以便我可以定义这两个时间之间有多少小时,分钟和秒。java.util

由此,我们可以在两个时间之间有一个时间间隔。喜欢TimeSpan

TimeSpan getTimeSpan( Date before, Date after ){...}

long timeSpan = System.currentTimeMillis();
// ... long job
timeSpan = System.currentTimeMillis() - timeSpan;

TimeSpan ts = new TimeSpan(timeSpan);

有了这个,我们可以在.TimeSpanSimpleDateFormat

SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
format.format( timsSpan );

我不确定这是否已经在Java中实现过,但尚未被我发现。


答案 1

借助 JDK,SDK 中的 8 个日期时间库得到了丰富,您可以使用

持续时间期间

从JodaTime的间隔就可以了。

时间间隔表示两个时刻之间的一段时间。间隔包括开始瞬间和结束。结束时刻始终大于或等于开始时刻。

间隔具有固定的毫秒持续时间。这就是开始和结束时刻之间的区别。持续时间由可读持续时间单独表示。因此,间隔不具有可比性。要比较两个间隔的长度,应比较它们的持续时间。

间隔也可以转换为可读周期。这表示起点和终点在年份和天数等字段方面的差异。

间隔是线程安全且不可变的。


答案 2

在Java 8中,一个适当的时间库已被添加到标准API中(这在很大程度上基于JodaTime)。

其中有两个类可用于指示句点:

  1. 持续时间,表示时间跨度的秒或纳秒长度。
  2. 表示更用户友好的差异的周期,存储为“x年和y个月等”。

有关它们之间差异的详细说明,请参阅 Java 教程


推荐