在Android应用程序中,我将事件添加到用户的日历中。
我的问题是,我保存的时间被更改,当它存储在Google日历中时(意味着03:00到08:00偏移+0500添加到时间,这是我的时区+0500)
请指导我做错了什么..
我正在使用此代码设置日历事件的时间和日期
calendar.set(year, monthOfYear, dayOfMonth);
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
DateTime startDateTime = new DateTime(sdf.format(calendar.getTime()));
EventDateTime start = new EventDateTime().setDateTime(startDateTime);
event.setStart(start);
详细参考原始代码: https://developers.google.com/google-apps/calendar/create-events
答案 0 :(得分:1)
问题可能与您的SimpleDateFormat
有关,可以简化为:
calendar.set(year, monthOfYear, dayOfMonth);
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
DateTime startDateTime = new DateTime(calendar.getTime())
EventDateTime start = new EventDateTime().setDateTime(startDateTime);
event.setStart(start);
Calendar
公开了基础Date
,DateTime
有一个带Date
的构造函数,因此不需要解析它。