格式化一段时间

jwa*_*ell 3 java formatting time

在Java中,我有一个长整数,表示一段时间(以毫秒为单位).时间段可以是从几秒到几周的任何时间段.我想将此时间段输出为具有适当单位的字符串.

例如,3,000应输出为"3秒",61,200,000应输出为"17小时",1,814,400,000应输出为"3周".

理想情况下,我也可以微调子单元的格式,例如62,580,000可能输出为"17小时23分钟".

是否有任何现有的Java类可以处理这个问题?

mha*_*ler 7

乔达库可以为你做的:

PeriodFormatter yearsAndMonths = new PeriodFormatterBuilder()
 .printZeroAlways()
 .appendYears()
 .appendSuffix(" year", " years")
 .appendSeparator(" and ")
 .printZeroRarely()
 .appendMonths()
 .appendSuffix(" month", " months")
 .toFormatter();
Run Code Online (Sandbox Code Playgroud)


tra*_*god 7

另请参见Apache commons中的DurationFormatUtils.