我使用以下代码将此字符串 Mon,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
如何使用以下字符串和简单日期格式样式执行此操作。
P.S。 :: starttime& endtime是长数据类型
答案 0 :(得分: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);