0

struts2、mysql、hibernateを使用してWebサイトを作成しています(テーブルからクラスへのマッピング用)

MySQLに保存されている値は2012-12-1000:04:52です

変数「addedDate」にフェッチした後、印刷してみました

class d{
Date addedDate;
}

addDateは2012-12-1000:04:52.0です

Hibernateマッピング(xmlファイル)で私は与えました

<property name="addedDate" type="timestamp">
            <column name="ADDED_DATE" length="19" not-null="true" />
        </property>

私が作成したActionクラスで

List<d> dList

jspで

<s:iterator value="dList" >
<td><s:property value="addedDate" /></td>   
</s:iterator>

画面に表示される出力12/10/1212:04:52AM.000

出力の「.000」を削除したい提案があればお願いします

タイプhibernatexmlファイルをDate1stに変更してからtimeに変更してみました。毎回、時間または日付のみを指定しますが、ミリ秒なしで両方が必要です。

1つの方法は、クラスdに文字列変数を作成し、その文字列にコピーを追加してから、変更を行ってjspに表示することです。その場合、24時間形式から12時間形式に変換するかどうかわかりません

他に方法がある場合、または説明が必要な場合は、私に尋ねてください。よろしくお願いします。

4

3 に答える 3

2

dateタグを見てください。

ドキュメントからのサンプル(適応):

<s:iterator value="dList" >
    <s:date name="addedDate" format="dd/MM/yyyy" />
</s:iterator>

(未検証)

于 2012-12-15T16:21:58.207 に答える
0

休止状態の場合は、次の注釈を使用して、データベースに日付のみを保存します

@Column(name="BIRTH_DATE")
    @Temporal (TemporalType.DATE)
    private Date birthDate;
于 2012-12-17T11:05:28.177 に答える
0

デイブが示唆しDateFormatたように、間違いなくここに行く方法です。

既に実装されているものに便乗することtoStringは、最初は洗練されているように見えますが、ユーザー インターフェイスに表示するために日付を明示的にフォーマットすると、コードが大きくなるにつれて、はるかに読みやすく、安定し、エラーが発生しにくくなります。ご覧のとおり、使用して印刷するSystem.outときと、JSP に「印刷」するように依頼するときとで、既に異なる動作が得られています。

あなたがやりたいことのために、aSimpleDateFormatはトリックをします。まず、JavaDocs には、それがどのように機能するかについての優れた説明と、たくさんの例もあります。

男に魚を与えるには...

SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
Date now = Calendar.getInstance().getTime();
System.out.println(formatter.format(now));

印刷されます:

12/15/2012 05:39:13 PM
于 2012-12-15T16:40:33.197 に答える