Joda time

Joda-Time  Period 间隔

2018-11-12  本文已影响43人  ba2cb747365a

一、背景:

在开发软件项目过程中,有时会碰上跟时间相关这样那样的需求。其中,判断某个对象如果超出时间则进行处理就是其中的一个例子。比如RPC请求对象如果超时2秒钟如果没有收到返回,则需要对请求对象进行清理。我们一般会使用System.currentTimeMillis() 跟当前时间毫秒值相减来判断。那么通过Joda-Time,我们可以用一种更优雅的方式来做。

一、核心类

1.1 Interval

Interval是不可变时间间隔的一个实现

1.2  Period

一个不可变的时间周期,可以有不同的周期单位,比如毫秒、秒、分钟、小时、天、月、年

(与interval的区别在于period可以计算出不同时间单位的间隔)

1.3 PeriodType

时间周期类型,支持毫秒、秒、分钟、小时、天、月、年

二、示例

2.1 判断两个时间点之前的间隔

可以看到,通过两个毫秒值可以得到Interval,然后Interval可以转换为Period,但是转换为什么类型,就只能获取什么类型的间隔了。上图中我们转换成了毫秒值,那么只有毫秒值才能被获取到。

通过上图中的例子,我们可以知道如何来判断是否超时,只需要记录两个时间点,然后转换为时间周期,进行数值判断就好了。

上一篇下一篇

猜你喜欢

热点阅读