2017-02-21 17 views
-2

アンドロイドで、解析中の日付が間違っています。私は22 Feb (Wednesday)を提供しています。なぜ私に間違った週の日(日曜日)を与えているのですか?以下のスクリーンショットをチェックして、値を含む完全なコードを確認してください。日付解析の日付が間違っています。

SimpleDateFormat format = new SimpleDateFormat("dd MMM (EEEE)"); 
try { 
    Date date = format.parse(strDate); 
    Calendar c = Calendar.getInstance(); 
    c.setTime(date); 
    c.add(Calendar.DATE, 2); 
    String output = format.format(c.getTime()); 
    tvDeliveryDate.setText(output); 
    tvDeliveryTime.setText(time); 
    deliveryDateTime = output + "," + time; 
    db.putString("deliver_date",output); 
    db.putString("deliver_time",time); 
    db.putString("deliver_date_time",output + ", " + time); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 

Screenshot Image

+0

whats going going wrong?年? –

+0

SimpleDateFormat形式=新しいSimpleDateFormat( "dd MMM(EEEE)YYYY");この –

+0

を試してみてください。または、 –

答えて

5

あなたの日付形式は年コンポーネントを持たないので、1970年を想定しています。 1970年、2月22日は日曜日だった。 SimpleDateFormat.parse()ドキュメントから

この解析作業はDateを生成するために、カレンダーを使用しています。カレンダーの日付/時刻フィールドはすべて解析前にクリアされ、カレンダーの日付/時刻フィールドのデフォルト値は、欠落している日付/時刻情報に使用されます。たとえば、解析の年値がない場合は、Dateの年の値は1970年であり、値はGregorianCalendarです。

関連する問題