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
。我该如何纠正?
由于
答案 0 :(得分:2)
但是当我把它解析成日期时,它会给我这样的日期:2013年3月13日00:00:00 EDT 2013.
解析它时,会得到Date
。使用Date.toString()
始终会为您提供相同的格式。
将此Date对象转换为以下形式的字符串:
dow mon dd hh:mm:ss zzz yyyy
如果您想格式化特定格式的Date
,请改用SimpleDateFormat
。
(或者,使用Joda Time及其解析/格式化工具,这通常更好 - 与API的其余部分一样。)