![](/img/trans.png)
[英]Get Current Time of CalendarEntry of Google Calendar API
[英]Formating time output from Google calendar API
我在 Google Quickstart 日歷 API 上找到了這段代碼,我一直在嘗試格式化時間輸出,但沒有成功。
我嘗試更改時區並閱讀 Android 開發人員的文檔,但我沒有設法修復它。
我正在嘗試獲得類似的東西
2017-07-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;
}
日歷 API 的默認時區是 UTC(這是您所看到的),根據RFC3339格式化。
時間,作為組合的日期時間值(根據 RFC3339 格式化)。 除非在 timeZone 中明確指定時區,否則需要時區偏移。
嘗試使用toTimeString()將其轉換為人類可讀的格式。 您還可以查看此SO 帖子以了解其他替代方案。
private String getFormattedDate(Date date)
{
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss+05:30");
df.setTimeZone(TimeZone.getTimeZone("GMT+05:30"));
return df.format(date);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.