我添加了谷歌日历事件,通过编程使用android的内容值

我添加了谷歌日历事件,通过编程使用android的内容值,android,events,calendar,Android,Events,Calendar,我有一个问题是谷歌日历中添加了事件,但从选定日期算起1个月后添加的事件意味着我添加了2019年5月15日的事件。但谷歌日历将该活动定在2019年6月15日。我为事件集添加了以下代码 long startMillis = 0; long endMillis = 0; Calendar beginTime = Calendar.getInstance(); beginTime.set(2019, 05, 15, 6, 00);

我有一个问题是谷歌日历中添加了事件,但从选定日期算起1个月后添加的事件意味着我添加了2019年5月15日的事件。但谷歌日历将该活动定在2019年6月15日。我为事件集添加了以下代码

 long startMillis = 0;
            long endMillis = 0;
            Calendar beginTime = Calendar.getInstance();
            beginTime.set(2019, 05, 15, 6, 00);
            startMillis = beginTime.getTimeInMillis();
            Calendar endTime = Calendar.getInstance();
            endTime.set(2019, 05, 15, 8, 00);
            endMillis = endTime.getTimeInMillis();

            ContentValues contentEvent = new ContentValues();
            contentEvent.put("calendar_id", mCalendarID);
            contentEvent.put("title", "Wedding");
            contentEvent.put("description", "Wedding Party");
            contentEvent.put("eventLocation", "New York");
            contentEvent.put("dtstart", startMillis);
            contentEvent.put("dtend", endMillis);
            contentEvent.put("eventTimezone", TimeZone.getDefault().getID());
            contentEvent.put("allDay", 1);
            contentEvent.put("hasAlarm",1);
            Uri eventsUri = Uri.parse("content://com.android.calendar/events");
            getContentResolver().insert(eventsUri, contentEvent);
            cursor.close();
请让我知道我的问题的解决方案。这对我会有帮助的

'beginTime.set(2019,05,15,6,00);'

指:2019年7月15日06:00

我想你想要的是‘开始时间设定(2019,04,15,6,00);’

第二个值从0开始,一月为0

这是用Calendar.java编写的

Field number for <code>get</code> and <code>set</code> indicating the
month. This is a calendar-specific value. The first month of
the year in the Gregorian and Julian calendars is
<code>JANUARY</code> which is 0; the last depends on the number
of months in a year.

那么我如何添加日历,比如从1开始=1月。谢谢你,但是我如何将实际日期事件设置为从1开始到12,而不是从0到11。你可以试试joda time。这个库提供了一种设置/获取时间的简单方法。是网站。它类似于val time=DateTime.now()。withYear(2019)。WithMonthFoyear(5)。withDayOfMonth(15),设置为2019-4-15,并通过time.plusMonth(1)获得下一个月。对于android,您可以将其放入gradle:implement“joda time:joda time:2.9.9”中。谢谢,但无法更改时间,因为我正在使用calendar,它是默认的calendar类。