忍者ブログ

Lutetiums

Jasperreports で和暦(JDK6以上)

Jasperreports で帳票を作る際に日付を和暦で表示したい場合、明治~平成の範囲ならば
JDK6 以上の java.text.SimpleDateFormat を利用して簡単に設定できました。

帳票の出力日付などを印字したい場合に役立つと思います。

以下 iReport を使ってデザインする場合の手順
(Expression の言語が Javascript のみです
 既にGroovy とか使ってたらごめんなさい)

1. リポートのプロパティでExpression のLanguage を "Javascript" に設定


2. 日付を表示したい箇所に textfield を作成し、Expression 編集


3. Expression 入力


java.util.Locale.setDefault(new java.util.Locale("ja", "JP", "JP"));
new java.text.SimpleDateFormat("GGGG y 年 M 月 d 日").format(new java.util.Date())

↑2行目の末尾にはセミコロンいりません。

以上で、 「平成 26 年 5 月 20 日」のように帳票作成時の日付を和暦で表示できるようになります。
データソースの Date 型項目を使う場合も format に渡すだけ。

JRE の lib に有る calendars.properties を修正すれば元号の変更もできるようです。

拍手[0回]

PR

コメント

P R

カレンダー

10 2019/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30