3

Grails でjoda timeを使用する場合、ここで行ったようにデフォルトのLocalDate形式を設定できます。DurationPeriodで同じことをしたいので、次のようなものを入力する必要はありません

durationFormatter.print(exampleObject.myDuration)

期間または期間を表示するたびに。/オブジェクトのtoString()メソッドを呼び出して、目的の形式で印刷する必要があります。DurationPeriod

ここで行ったのと同じように、構成ファイルにPeriodFormatterを実装しようとしましたが、役に立ちませんでした。これまでの構成ファイルの内容は次のとおりです。

jodatime {
    format.org.joda.time.LocalDate = "yyyy-MM-dd"
    format.org.joda.time.PeriodFormatter = { new format.org.joda.time.PeriodFormatterBuilder()
        .appendMonths()
        .appendSuffix( " month", " months" )
        .appendWeeks()
        .appendSuffix( " week", " weeks" )
        .appendDays()
        .appendSuffix( " day", " days" )
        .appendHours()
        .appendSuffix( " hour", " hours" )
        .toFormatter();
    }
}
4

1 に答える 1

0

クラス

ISOPeriodFormat

分野

cStandard  

これはデフォルトの期間フォーマッタです。このフィールドは設定されていますがprivate static、設定されていません。ただし、java-reflectionAPIを使用してこの値を変更できます

  final Field f = ISOPeriodFormat.class.getDeclaredField("cStandard");
  f.setAccessible(true);
  f.set(null, yourPeriodFormatter);
于 2012-09-07T08:43:17.780 に答える