我已经在Blackberry日历中为特定日期和时间创建了一个appoitment,我正在尝试使用以下代码读取日期和时间,但它显示错误。
private void getEvents() {
try {
EventList eventList = (EventList)PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_ONLY);
Enumeration events = eventList.items();
while (events.hasMoreElements()) {
Event event = (Event)events.nextElement();
if(eventList.isSupportedField(Event.ALARM) && event.countValues(Event.ALARM) > 0) {
long alarm = event.getDate(Event.ALARM, 0);
System.out.println(alarm);
}
}
}
我不确定if loop
有什么问题答案 0 :(得分:0)
字段Event.ALARM包含:
字段指定此事件的警报的相对时间。数据 该字段用INT数据类型表示。警报表达出来 以秒为单位,通过从每个中减去警报值得出 此事件的日期/时间发生。例如,如果此字段有 值为600,然后报警首先发生在600秒之前 Event.START指定的日期/时间值。对于重新发生的 事件,通过从中减去存储的值来计算警报 特定事件发生的日期/时间。
因此,您需要从Event.START字段中获取事件开始日期/时间的值。然后,您可以从开始日期/时间中减去Event.ALARM(以秒为单位)的值,以获取任何请求提醒的时间。
long start = event.getDate(Event.START);
int alarm = event.getDate(Event.ALARM);
if (alarm > 0) {
long reminderTime = start - (long)alarm * 1000L;
...
}
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy HH:mm");
String dateString = sdf.formatLocal(start);