0

我有一个问题是在谷歌日历中添加了事件,但从选定日期起 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();

请让我知道我的问题的解决方案。这对我会有帮助。

4

1 回答 1

1

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

表示:2019年7月15日06:00

我想你想要的是'beginTime.set(2019, 04 , 15, 6, 00);'

第二个值从 0 开始,JANUARY 为 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.
于 2019-03-05T06:48:11.807 回答