java - Joda-Time 的大致时间段

标签 java time jodatime

我正在使用 Joda 库来获取自给定时间戳以来耗时段:

public static String getTimePassedSince(Date initialTimestamp){

        DateTime initDT = new DateTime(initialTimestamp.getTime());
        DateTime now = new DateTime();
        Period p = new Period(initDT, now);

        PeriodFormatter formatter = new PeriodFormatterBuilder()
            .appendYears().appendSuffix(" year, ", " years, ")
            .appendMonths().appendSuffix(" month, ", " months, ")
            .appendDays().appendSuffix(" day, ", " days, ")
            .appendHours().appendSuffix(" hour, ", " hours, ")
            .appendMinutes().appendSuffix(" minute, ", " minutes, ")
            .appendSeconds().appendSuffix(" second, ", " seconds")
            .printZeroNever()
            .toFormatter();

        return formatter.print(p);
    }

该函数返回给定时间戳的准确时间段字符串。例如:

3 minutes, 23 seconds
1 hour, 30 minutes, 57 seconds
1 day, 23 hours, 21 minutes, 19 seconds

有什么方法可以获得大概的时间而不是准确的时间?例如,如果从 initialTimestamp 开始已经过了 1 分 30 秒,它只会返回 1.5 分钟。同样,如果已经过了 1 小时 35 分钟,它会返回 about 1.5 hours 而不是 1 小时 35 分钟 xy 秒。

我知道返回的字符串可以被解析和操作,但我正在寻找更复杂的东西。

最佳答案

看看 PrettyTime .

关于java - Joda-Time 的大致时间段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4613762/

相关文章:

java - 压缩/序列化/操作大量数据的有效方法

python - 如何将此日期转换为 python 日期时间对象?

具有时间容差的 MySQl 查询

java - JodaTime 如何正确解析 dd-MM YYyy 到 DateTime

java - 为什么我们不能在构造函数中创建非静态自引用对象

java - 如何将类数据源转换为 JRDataSource

scala - 在 Scala 中,我可以通过隐式转换引用私有(private)类型

java - 在 Java 中使用 Joda 查找两个日期之间的差异

java - Java String.trim() 将删除多少个空格?

linux - 给定程序使用/usr/bin/time 的内存使用情况