jodaTime PeriodFormatter 格式不正确

jodaTime PeriodFormatter not formatting correctly

我有这个 PeriodFormatter:

PeriodFormatterBuilder()
            .appendDays()
            .appendSuffix(
                " day",
                " days")
            )
            .appendSeparator(", ")
            .printZeroRarelyLast()
            .appendHours()
            .appendSuffix(
                " hours",
                " hours"
            )
            .appendSeparator(" ")
            .appendMinutes()
            .appendSuffix(" minute")
            .toFormatter()
            .let {
                Period(Seconds.seconds(seconds.toInt())).toString(it)
            }

我想以秒为输入并得到 x 天、x 小时、x 分钟的回报.... 这样做时我得到一个空字符串。如果我将 "appendSeconds()" 添加到格式化程序创建中,我将获得与我发送的 return 值相同的秒数..

我需要转换,而不仅仅是数量,我对秒数不感兴趣,但是它占了多少分钟、小时和天。有人可以帮忙吗?

您需要使用Period.normalizedStandard()说服您的经期将您的秒转换为分钟、小时和天。

            Period(Seconds.seconds(seconds.toInt())).normalizedStandard().toString(it)

(不确定 Kotlin 中是否需要空圆括号 ()。它们在 Java 中,我测试过。)