2013-03-10 72 views
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。我該如何糾正它?

感謝

回答

2

但是當我把它解析爲一個日期,它給我的日期如下:星期三年03月13日00:00:00 EDT 2013

當你分析它,你得到一個Date。使用Date.toString()總是爲您提供相同的格式。如果您想格式化特定格式的Date,使用SimpleDateFormat代替

dow mon dd hh:mm:ss zzz yyyy 

此Date對象轉換爲以下形式的字符串。

(或者,使用Joda Time及其解析/格式化的設施,這是一般更好 - 因爲是API的其餘部分)

+0

但是,這是我使用的是什麼,問題是SimpleDateFormat的同時,我想.format返回一個字符串一個日期,所以這就是爲什麼我解析返回的字符串,或者我誤解了你? – user2133558 2013-03-10 20:45:42