0
public LigneReservation(Date dateArrivee, Date dateDepart,
        String categorie, int quantite) {
    super();

    SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd");
    try {
        this.dateArrivee = form.parse(form.format(dateArrivee));
        this.dateDepart = form.parse(form.format(dateDepart));
        String s = form.format(dateArrivee);

        System.out.print(form.parse(s));
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    this.categorie = categorie;
    this.quantite = quantite;
}

これは私がメソッドを呼び出す方法です:

ctrlRes.setLigneCourante(ctrlRes.creerLigne(dateArrivee.getDate(),
    dateDepart.getDate(), (String)listeCatCh.getSelectedItem(),
    Integer.parseInt(champQteCh.getText())));

したがって、最初にJDateChooserフィールドから日付を抽出し、それらをコンストラクターに渡しますLigneReservation。文字列Sは、「yyyy-mm-dd」が必要な正しい形式を示していますが、それを日付に解析すると、次のような日付が得られます。Wed Mar 13 00:00:00 EDT 2013. どうすれば修正できますか?

ありがとう

4

1 に答える 1

2

しかし、それを日付に解析すると、次のような日付が返されます: Wed Mar 13 00:00:00 EDT 2013.

解析すると、Date. alwaysを使用すると、同じ形式になります。Date.toString()

この Date オブジェクトを次の形式の String に変換します。

dow mon dd hh:mm:ss zzz yyyy

Datea を特定の形式でフォーマットする場合は、SimpleDateFormat代わりに を使用します。

(または、Joda Timeとその解析/フォーマッタ機能を使用します。これは、API の残りの部分と同様に、一般的に優れています。)

于 2013-03-10T20:22:11.713 に答える