0

文字列を特定の日付形式にフォーマットしようとしていますが、変換に問題があります。変換された文字列では、月は常に「1 月」になります。以下はコード スニペットです。

    String date = "30/10/2012-11:11:11";
    DateFormat dateForm = new SimpleDateFormat("dd/mm/yyyy-hh:mm:ss");

    try {
       System.out.println(dateForm.parse(date));
    } 
    catch (ParseException e) {
       e.printStackTrace();
    }

この背後にある理由を取得できません。提案してください。

4

3 に答える 3

3

他の人が言ったように、あなたはMMヶ月も使うべきです. は 24 時間時計です。は 12 時間時計で、通常は AM/PM 指定子と組み合わせて使用​​されます。HHhhHHhh

最後に、使用するタイム ゾーンとロケールを検討する必要がありますSimpleDateFormat。月や日の名前がない場合でも、ローカライズされたデータを使用しようとしていないことを明確にするために、ロケールを明示的に指定します。

SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy-HH:mm:ss", Locale.US);
// TODO: Set the time zone appropriately
于 2012-12-04T07:45:20.123 に答える
2

フォーマット文字列の日付部分のMM代わりに使用します。月単位ではなく分単位です。mmmm

参照: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

于 2012-12-04T07:43:25.313 に答える
1

使ってください"dd/MM/yyyy-hh:mm:ss"

于 2012-12-04T07:43:56.330 に答える