2012-03-06 17 views
0

我已經創建了特定日期和時間的黑莓日曆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); 
       } 

      } 

      } 

我不知道什麼是錯的,如果在循環

回答

0

領域Event.ALARM包含:

字段中指定相對時間針對此事件的報警。數據爲 該字段以INT數據類型表示。該報警以秒爲單位表示爲 ,並通過從每個 該事件的日期/時間發生中減去報警值而得出。例如,如果該字段的值爲 ,那麼報警首先發生在由Event.START指定的日期/時間值的前600秒處。對於 事件的重新發生,通過從特定事件發生的日期/時間中減去 的存儲值來計算警報。

因此,您需要從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); 
+0

long start = event.getDate(Event.START)給出的值爲1331128800000一個長整型值如何獲取時間和日期? – user1195292 2012-03-06 13:52:23

+0

您可以使用SimpleDateFormat,上面添加的代碼。 – Richard 2012-03-06 14:45:04

+0

import java.text.SimpleDateFormat;在BB JDE6.0中不支持?在添加這個時得到一個錯誤 – user1195292 2012-03-06 14:55:12