1

我正在使用以下代码将此字符串转换为2013 年 2 月 11 日星期一 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 是长数据类型

4

1 回答 1

0

我认为获取日期格式有问题。请检查并执行以下操作

如果您按如下方式获取数据Date = May 05, 2012, 07:10PM,则将日期转换为数字格式 a May 为 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 回答