0

htc g7 は SimpleDateFormat のシンボル「a」をサポートできないことがわかりました。したがって、日付を適切に解析することはできません。例: コード: *

    SimpleDateFormat sdf2 = new SimpleDateFormat("MM/dd/yy hh:mm a");

    String d2 = "12/15/10 6:30 PM";  

    try{
        sdf2.parse(d2);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
}
*

シミュレーターでテストします。問題ありません。しかし、私の電話で実行すると、ParseException が発生します。

私の電話 HTC G7 os2.2

4

1 に答える 1

0

おそらくロケールの問題ですか?上記のコードで、...を使用してロケールを明示的に設定してみてください。

SimpleDateFormat sdf2 = new SimpleDateFormat("MM/dd/yy hh:mm a", Locale.US);

...それが電話で動作するかどうかを確認するためにテストするだけです。

「デフォルトのロケールに注意してください」からhttp://developer.android.com/reference/java/util/Locale.html#default_locale

よくある間違いは、機械可読であることが意図された出力を生成するときに、デフォルトのロケールを暗黙的に使用することです。これは、開発者のテストデバイスで機能する傾向がありますが、ユーザーがあまり一般的でないロケールのデバイスで実行すると失敗します。

于 2010-12-07T04:01:15.040 に答える