[Seasar-user:8699] Re: Timestamp型の秒以下の桁を取得するには
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 6月 27日 (水) 04:04:11 JST
小林 (koichik) です.
Date: Tue, 26 Jun 2007 23:23:50 +0900
From: <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:8697] Timestamp型の秒以下の桁を取得するには
> DBから取得したカンマ6桁までのTimestamp型のデータを
> @TimestampConverterを使って取得し、画面に表示させたいのですが、
>
> @TimestampConverter(pattern="yyyy/MM/dd HH:mm:ss.SSSSSS")
>
> のように記述しても3桁までしか取得できません。
TimestampConverter は SimpleDateFormat を使っており,
SimpleDateFormat のパターン文字 S は「ミリ秒」なので
4 桁以上指定しても意味はありません.
> 6桁全てを取得し、画面に表示するためには、
> pattern部にはどのように記述すればよいのでしょうか?
Timestamp はナノ秒まで保持できるので全部出すと
9 桁ですが,いずれにせよ DecimalFormat と組み合わせた
独自のコンバータを作らないといけないような.
その中で
Timestamp timestamp = ...
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.");
DecimalFormat numberFormatter = new DecimalFormat("000000");
return dateFormatter.format(timestamp) + numberFormatter.format(timestamp.getNanos() / 1000));
のようにすればいいのではないかと.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内