我想在我的应用程序的android日历中添加一个事件。我已使用以下代码在日历中添加了该事件。
Calendar c = Calendar.getInstance();
date2 = formatter.parse(eDate);
c.setTime(date2);
c.add(Calendar.HOUR, 1);
eDate = formatter.format(c.getTime());
date2 = formatter.parse(eDate);
date2 = formatter.parse(eDate);
c.setTime(date2);
eDate = formatter.format(c.getTime());
cal1=Calendar.getInstance();
cal1.setTime(date1);
cal2=Calendar.getInstance();
cal2.setTime(date2);
calEvent.put("dtstart", cal1.getTimeInMillis());
calEvent.put("dtend", cal2.getTimeInMillis());
String timeZone = TimeZone.getDefault().getID();
calEvent.put("eventTimezone", timeZone);
Uri uri = contentResolver.insert(Uri.parse("content://com.android.calendar/events"),
calEvent);
date2 = formatter.parse(eDate);
我需要在日历上添加一个小时。所以我使用代码添加了1小时到结束日期:
c.add(Calendar.HOUR, 1);
但是当我在日历中查看时,它显示了12小时的活动。这意味着如果明天晚上10点增加一个活动,它将在明天晚上10点到明天上午10点之间创建一个活动。
有人可以告诉我如何添加明天晚上10点开始,明天晚上11点结束的活动吗?
答案 0 :(得分:0)
您应该检查您未向我们展示的格式模式。
更具体,以下代码适用于我:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd h a");
GregorianCalendar gcal = new GregorianCalendar();
gcal.set(Calendar.MILLISECOND, 0);
gcal.set(2013, Calendar.DECEMBER, 18, 22, 0, 0);
Date date1 = gcal.getTime();
System.out.println(formatter.format(date1)); // Output: 2013-12-18 10 PM
gcal.add(Calendar.HOUR, 1);
Date date2 = gcal.getTime();
System.out.println(formatter.format(date2)); // Output: 2013-12-18 11 PM
答案 1 :(得分:0)
你可以加1小时(毫秒到你的结束时间), 像这样的SomeThing
calEvent.put("dtend", calSet.getTimeInMillis() + 60 * 60 * 1000);