0

日付を解析してからフォーマットすることで日付をフォーマットしようとしていますが、機能していません。

解析例外を示しています

public java.util.Date convertFormat(String DateTimeForm) 
                    throws ParseException {
 DateTimeForm="2012-06-01 10:00 PM";
 DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm aaa");
 java.util.Date FCDate = (java.util.Date) formatter.parse(DateTimeForm);

 return (java.util.Date) FCDate;

}
4

2 に答える 2

1

これは私のマシンでは問題なく動作します。重要なことは何も変えていません。

    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm aaa"); 
    Date date = null;
    try {
        date = formatter.parse("2012-06-01 10:00 PM");
    } catch (ParseException ex) {
        // Intentionally empty. Failed parse causes date == null. 
    }
    System.out.print(date);

版画

    Fri Jun 01 22:00:00 EDT 2012

Java ドキュメントによると、数値はすべてロケールに依存しませんが、AM/PM には依存しません。たとえばLocale.JAPAN、フォーマッタ構造で指定すると、コードは失敗します。Local.USAM/PM が常に機能することを保証するために指定します。

于 2012-06-13T01:27:28.697 に答える
1
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm aaa");
try {
    Date date = formatter.parse("2012-06-01 10:00 PM");
    System.out.println(date.toString());
    } catch (ParseException e) {
        e.printStackTrace();
    }

何も変更していませんが、それでも機能します。

Fri Jun 01 22:00:00 CDT 2012
于 2012-06-13T01:29:19.840 に答える