0

私はsimpledateformatを使用して日付形式の変換を行うアクションクラスを持っています。私の問題は、クラスオブジェクト(日付フィールドを除く)に対する完全な更新が成功した後、リストを選択してgetjson応答で使用するときに発生するjava.text.ParseExceptionです。 ) 休止状態を使用します。休止状態を使用してクラスの日付フィールドも更新すると、何も起こりません。

ここに私が使用するコードがあります:

Date d;
  String newformat = "dd/MM/yyyy";
  String oldformat= "yyyy-MM-dd";
  SimpleDateFormat sdf;
this.mapjourferiejson=new LinkedHashMap<Integer,List<String>>();
  List<String> infostring=new  ArrayList<String>();
//function doing the hql request
  List<JourFerie> listjourferiejson=jourferieservice.findAll();
try
  {
  for(JourFerie jourferie:listjourferiejson)
  {
     sdf= new SimpleDateFormat(oldformat);
     System.out.println("la date est : "+jourferie.getDate());
     d = sdf.parse(jourferie.getDate().toString());
     sdf.applyPattern(newformat);
     infostring.add(sdf.format(d));
     infostring.add(jourferie.getNombrejours().toString());
     infostring.add(jourferie.getOccasion()); 
     this.mapjourferiejson.put(jourferie.getJourferieId(), infostring);
     //je vide le set pour un autre reutilisation
     infostring=new  ArrayList<String>();
  }  
  }catch(ParseException e)
  {
    e.printStackTrace();
    System.out.println("erreur dans le parsing");

  }

これが私のすべての解析された日付のログです:日付:2012-01-01日付:2012-01-01日付:2012-01-02日付:2012-01-02日付:2012-01-03日付 : 2012 年 1 月 11 日水曜日 00:00:00

4

1 に答える 1

0

私はいくつかのポイントを作るために答えるために移動します(いつかあなた自身でいくつかを作るようにしてください)。

d = sdf.parse(jourferie.getDate().toString());
// is doing type conversion like Date => String => Date
// why ? why not d = jourferie.getDate(); ?

ただし、getDate()はJavaメソッドであり、文字列形式はJavaVMロケールを使用します。この形式は、SQLのMySQL形式とは何の関係もありません。

于 2012-09-22T22:22:47.257 に答える