人の話し方の時間帯を印刷するためのライブラリはありますか? つまり、正確な時間単位で指定された期間を、次のようにある程度不正確な「音声」期間に変換する必要があります。
- 360日→「1年」、
- 32日→「1ヶ月」、
- 385日→1年1ヶ月」
JodaTime は、「ゼロ」期間の部分をすべて切り捨てることでこれに取り組みますが、それでも日を月に変えることさえできません。
PeriodFormatterBuilder builder = new PeriodFormatterBuilder().
appendYears().appendSuffix(" year(s) ").
appendMonths().appendSuffix(" month(s) ").
appendDays().appendSuffix(" day(s)");
MutablePeriod almostOneYear = new MutablePeriod(0, 0, 0, 360, 0, 0, 0, 0);
StringBuffer durationInWords = new StringBuffer();
builder.toPrinter().printTo(durationInWords, almostOneYear, Locale.ENGLISH);
System.out.println(durationInWords.toString());
「360日」を生成し、「nか月m日」(n、m - 「標準」年が何であるかに応じて)でさえありません。もしかして私の使い方が悪いのでしょうか?