Android 谷歌日历中的通知时间

Android 谷歌日历中的通知时间,android,google-calendar-api,Android,Google Calendar Api,下午2:25,我在安卓谷歌日历上创建了一个闹钟。然后我尝试捕捉事件报警意图,但是当我格式化报警时间时,它显示的是不同的时间 这是我的日志 10-31 14:25:18.475: D/@@@@@ Notify(25637): event name: New event 10-31 14:25:18.475: D/@@@@@ Notify(25637): alarm time formatted: 2013-10-31 02:11 10-31 14:25:18.475: D/@@@@@

下午2:25,我在安卓谷歌日历上创建了一个闹钟。然后我尝试捕捉事件报警意图,但是当我格式化报警时间时,它显示的是不同的时间

这是我的日志

  10-31 14:25:18.475: D/@@@@@ Notify(25637): event name: New event
  10-31 14:25:18.475: D/@@@@@ Notify(25637): alarm time formatted: 2013-10-31 02:11
  10-31 14:25:18.475: D/@@@@@ Notify(25637): alarm time not formatted: 2013-9-31 2:11
  10-31 14:25:18.475: D/@@@@@ Notify(25637): today: 2013-9-31 14:25
  10-31 14:25:18.475: D/@@@@@ Notify(25637): today formatted: 2013-10-31 02:25
  10-31 14:25:18.480: I/CalendarTest(25637): CalendarTest.onReceive called!
我用这个来安排我的时间

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm");
你知道为什么会有差异吗

编辑:未格式化时间

 Date dtAlarmTime = new Date(alarmTime);
 Calendar alarm_cal = Calendar.getInstance();
 alarm_cal.setTime(dtAlarmTime);

 int alarm_year = alarm_cal.get(Calendar.YEAR);
 int alarm_month = alarm_cal.get(Calendar.MONTH);
 int alarm_day = alarm_cal.get(Calendar.DAY_OF_MONTH);
 int alarm_hour = alarm_cal.get(Calendar.HOUR);
 int alarm_minute = alarm_cal.get(Calendar.MINUTE);

您的
SimpleDataFormat
没有问题。问题在于
日历如何存储月份。它以
0
作为
Calendar.janur
开始,因此您未格式化的月份将比“实际月份”显示少1


至于12小时与24小时,使用
HH
24小时,而不是
SimpleDateFormat

中的
HH
,如何打印未格式化的日期?谢谢你的回答,我想我找到了原因。当我设置15分钟提醒时,它会得到警报时间和开始时间,即使真正的警报应该是15分钟后。啊,我明白了。是的,警报是根据提醒设置的,而不是根据实际事件时间设置的。如果要在事件发生时发出警报,请将提醒设置为0分钟:)