String
を解析して月の日にアクセスしてDate
を作成すると、間違った値が返されます。フォーマットされた文字列から月の日を取得するには?
Date datearr = null;
DateFormat df1 = new SimpleDateFormat("dd-MM-yyyy");
String dataa = "17-03-2012";
try {
datearr = df1.parse(dataa);
} catch (ParseException e) {
Toast.makeText(this, "err", 1000).show();
}
int DPDMonth = datearr.getMonth() + 1;
int DPDDay = datearr.getDay();
int DPDYear = datearr.getYear() + 1900;
System.out.println(Integer.toString(DPDDay)+"-"+Integer.toString(DPDMonth)+"-"+Integer.toString(DPDYear));
なぜ私は0
代わりの17
を得るのですか?
03-11 10:24:44.286: I/System.out(2978): 0-3-2012
使用しているメソッドのjavadocを読んで、推奨されていない警告に気付き、ドキュメントが示唆しているコードに置き換えてください。また、 'datearr.getMonth()'というコードが実行されたときに、ParseExceptionが発生した場合にどうなるか考えてみてください。 –
そして、変数の命名規則に関連するJavaの規約を使用してください...コードを読み込み、変数をクラスとしてハイライト表示しようとするのは非常に面倒です。 – Marcelo
申し訳ありませんが、ここに私の最初の投稿です。 –