Java 谷歌日历Api-将数据时间转换为日历对象

Java 谷歌日历Api-将数据时间转换为日历对象,java,android,datetime,calendar,google-calendar-api,Java,Android,Datetime,Calendar,Google Calendar Api,我正在尝试将此DataTime对象转换为日历对象 DateTime start=event.getStart().getDateTime() 日期时间格式:2015-11-11T19:25:55.000Z 我需要格式:“yyyy/MM/dd HH:MM:ss” 如何剪切时区并将其转换为日历对象 原始谷歌日历Api: private List<String> getDataFromApi() throws IOException { // List the next 10 ev

我正在尝试将此DataTime对象转换为日历对象

DateTime start=event.getStart().getDateTime()

日期时间格式:2015-11-11T19:25:55.000Z 我需要格式:“yyyy/MM/dd HH:MM:ss”

如何剪切时区并将其转换为日历对象

原始谷歌日历Api:

private List<String> getDataFromApi() throws IOException {
    // List the next 10 events from the primary calendar.
    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) {
            // All-day events don't have start times, so just use
            // the start date.
            start = event.getStart().getDate();
        }
        eventStrings.add(String.format("%s (%s)", event.getSummary(),start));
    }
    return eventStrings;
}
private List getDataFromApi()引发IOException{
//列出主日历中接下来的10个事件。
DateTime now=新的日期时间(System.currentTimeMillis());
List eventStrings=new ArrayList();
Events=mService.Events().list(“主”)
.setMaxResults(10)
.setTimeMin(现在)
.setOrderBy(“startTime”)
.setSingleEvents(真)
.execute();
List items=events.getItems();
用于(事件:项目){
DateTime start=event.getStart().getDateTime();
if(start==null){
//全天活动没有开始时间,所以只需使用
//开始日期。
start=event.getStart().getDate();
}
添加(String.format(“%s(%s)”,event.getSummary(),start));
}
返回事件字符串;
}
您可以使用将2015-11-11T19:25:55.000Z解析为实际日期对象。一旦您获得了日期对象,就可以轻松地执行以下操作:

Calendar calendar = Calendar.getInstance();
calendar.setTime(your_date_object);

我希望这有帮助

我想用它做点什么,但它不起作用

            DateTime start = event.getStart().getDateTime();
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
            String newDate = dateFormat.format(start);
也许有人知道我为什么不能解析这些数据

            DateTime start = event.getStart().getDateTime();
            String NewDate = String.format("(%s)", start);

            Calendar cal = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ", Locale.getDefault());
            cal.setTime(sdf.parse(NewDate));
一直以来,我都有无法解释的日期例外

我尝试了以下格式:

yyyy-MM-dd'HH:MM:ss.SSSZ

yyyy-MM-dd'HH:MM:ssZZZZZ

yyyy-MM-dd'HH:MM:ss.SSSZZ

这是我的工作:

SimpleDateFormat dtExibicao = new SimpleDateFormat("dd/MM/yyyy");
Date dtInicio = new Date(event.getStart().getDateTime().getValue());
String stInicio = dtExibicao.format(dtInicio);
如果您想要java.util.Calendar,可以使用@k3v1n4ud3示例代码:

java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.setTime(dtInicio);