2017-07-26 43 views
0

我在Google Quickstart日曆API中找到了這段代碼,我一直試圖格式化時間輸出,但是我沒有成功。從Google日曆API輸入格式化時間輸出

我嘗試更改時區和從Android開發人員閱讀文檔,但我沒有設法解決它。

我試圖得到類似

2017年7月29日16:00:00

但是我卻越來越

2017-07-29T14 :00:00.000Z

同樣時區不同,它應該是+2。

private List<String> getDataFromApi() throws IOException { 
     DateTime now = new DateTime(System.currentTimeMillis()); 
     List<String> eventStrings = new ArrayList<String>(); 
     Events events = mService.events().list("primary") 
       .setMaxResults(10) 
       .setTimeMin(now) 
       .setOrderBy("startTime") 
       .setSingleEvents(true) 
       .execute(); 
     List<Event> items = events.getItems(); 

     for (Event event : items) { 
      DateTime start = event.getStart().getDateTime(); 
      if (start == null) { 
       start = event.getStart().getDate(); 
      } 
      eventStrings.add(
        String.format("%s (%s)", event.getSummary(), start)); 
     } 
     return eventStrings; 
    } 

回答

0

日曆API的default timezone是UTC(這是你看到的),根據RFC3339格式化。

時間,作爲組合的日期時間值(格式根據 RFC3339)。除非在timeZone中明確指定了時區 ,否則需要時區偏移。

嘗試使用toTimeString()將其轉換爲人類可讀的格式。您也可以檢查這SO post其他替代品。