0

API-15(ICS)としてEclipseとAndroidバージョンを使用してAndroidアプリを開発しています。

文字列を日付オブジェクトに解析する際に奇妙な問題が発生しています。これが私のコードです:

DateFormat df = new SimpleDateFormat("M/d/yyyy h:mm:ss a");
df.setTimeZone(TimeZone.getTimeZone("gmt"));
String st = "1/1/1990 12:00:00 AM";

try {
    Date dt = df.parse( st );
        return dt;
    } catch (ParseException e) {
        return null;
    }

ParseException エラーが発生し続けます。日付文字列のさまざまな組み合わせを試しましたが、それでも日付オブジェクトに変換できません。

また、文字列には UTC の日付と時刻が含まれているはずなので、作成される新しい日付オブジェクトは UTC になります。

アイデアはありますか?

4

3 に答える 3

0

日を 2 桁の数字で表すようにしてください "MM/dd/yyyy hh:mm:ss a"。私はこのコードを持っていて、それは私にとってはうまくいきます:

SimpleDateFormat dfm = new SimpleDateFormat("yyyy-MM-dd");

                     try {

                        date=dfm.parse(datestring);;
                    } catch (ParseException e) {

                        e.printStackTrace();
                    }
于 2012-10-28T06:36:44.137 に答える
0

例外を取得しています。解析している文字列がフォーマットした形式と一致しないため、以下のように日付形式を変更してください。常に 2 桁の日付または時刻形式を使用することをお勧めします。

DateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");

于 2012-10-28T06:32:26.690 に答える
0

問題を追跡したと思います。インポートがめちゃくちゃだったからです。すべてのインポートを削除し、Eclipse の整理インポート機能を使用しました。これで、エラーが発生しなくなりました。

コードが lint によって受け入れられていたのは、以前に何がインポートされていたのだろうか。Java と Android で日付を処理するための 2 つの異なるライブラリがあると思います。現在、日付用の Java ライブラリしかありません。正常に動作します。

ご迷惑をおかけして申し訳ありません。

于 2012-10-28T06:49:46.803 に答える