2

ListActivity から選択した特定のイベントを表示するために、次のコードを実行しています。

Uri viewUri = Uri.parse("content://com.android.calendar/events/"+events.get(position).id);
Intent l_intent = new Intent(Intent.ACTION_VIEW);
l_intent.setData(viewUri);
startIntent(l_intent);

上記のコードが Android で直接サポートされていないことは認識しています。これを Android 2.2 で実行しています。しかし、どのイベントをクリックしても、日時は 1969 年 12 月 31 日午後 7 時と表示されます。実際のカレンダーを見ると、イベントは適切な場所にあります。また、次の行を実行すると:

System.out.println("start time is"+getDateTimeStr(events.get(position).startTime));

( getDateTimeStr が文字列をフォーマットする場所)、正しい日付/時刻が返されます。

誰がこれを引き起こしているのか知っていますか?

4

1 に答える 1

0

December 31, 1969 at 7:00 p.mは、時間なしで初期化されたオブジェクトのタイムゾーン、つまりESTUTCタイムゾーンの開始値です。DateJanuary 01, 1970 at 0:00 a.m

このようにして、あなたの日付はすぐに初期化されていると確信しています。コードを確認し、時間を適切に設定してください。

于 2012-11-22T23:02:07.203 に答える