1

次のコードを使用して、この String Mon, 11 Feb 2013 08:00:00 CSTを日付に変換しています

Date date = null;
long starttime,endtime;
try {
    date = new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:Ss z").parse(tit1);
                
} catch (java.text.ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} 

以下のコードを使用して、この日付をカレンダーに追加します

try{
    Calendar cal = Calendar.getInstance();   
    starttime=date.getTime();
    endtime=date.getTime();
    Intent intent = new Intent(Intent.ACTION_EDIT);
    intent.setType("vnd.android.cursor.item/event");
    intent.putExtra("beginTime",starttime);
    intent.putExtra("allDay", true);
    intent.putExtra("rrule", "FREQ=YEARLY");
    intent.putExtra("endTime", endtime);
    intent.putExtra("title",tit);
}
catch(Exception e)
{
}

イベントは2013年2月11日月曜日のように追加されています。次のようにイベントを追加する必要があります

From: Mon, 11 Feb 2013 08:00AM
To:   Mon, 11 Feb 2013 08:30AM

次の文字列と単純な日付形式のスタイルでどのように行うことができますか。

PS :: starttime と endtime は long データ型です

4

1 に答える 1

0

日付形式の取得に問題があると思いますので、確認して以下のようにしてください。

次のようにデータを取得している場合はDate = May 05, 2012, 07:10PM、日付を数値形式に変換し、5月を05に変換して、次のコードで値を渡します。

Calendar beginCal = Calendar.getInstance();
beginCal.set(year, mnth, day, hrs, min);
startTime = beginCal.getTimeInMillis();

Calendar endCal = Calendar.getInstance();
endCal.set(year, mnth, day, hrs, min);
endTime = endCal.getTimeInMillis();     

Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra(Events.TITLE, summary);
intent.putExtra(Events.DESCRIPTION, summary);
intent.putExtra(Events.EVENT_LOCATION, "");     
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginCal.getTimeInMillis());
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endCal.getTimeInMillis());
intent.putExtra(Events.ALL_DAY, allDayFlag);
intent.putExtra(Events.STATUS, 1);
intent.putExtra(Events.VISIBLE, 0);
intent.putExtra(Events.HAS_ALARM, 1);
startActivity(intent);
于 2013-01-16T10:54:49.530 に答える