2015-04-16 18 views
4

我开发了一个预订应用程序,该应用程序的后端是通过解析。由于某些原因,Parse中的更新信息与应用程序在运行模拟器时出现的信息完全不同。对于例如我的StartTime(日期)是2015年4月14日19:00,我的EndTime(日期)是2015年4月14日20:00。然而,当我运行应用程序时,事件处于不同的日期和时间。有人能帮我吗?我的解析StartTime和EndTime没有正确连接我的应用程序。帮帮我? (Java)

private void makeWebCallToParse() { 
    ParseQuery<ParseObject> query = ParseQuery.getQuery("GymSession"); 
    query.findInBackground(new FindCallback<ParseObject>() { 

     @SuppressWarnings("deprecation") 
     @Override 
     public void done(List<ParseObject> objects, ParseException e) { 
      if(e == null) { 
       for(int i = 0; i < objects.size(); i++) { 
        WeekViewEvent event = new WeekViewEvent(); 
        event.setName(objects.get(i).getString("GymSession")); 
        event.setId(i); 

        event.setParseObjectId(objects.get(i).getObjectId()); 

        Calendar cal = Calendar.getInstance(); 
        cal.set(Calendar.DAY_OF_WEEK, objects.get(i).getDate("StartTime").getDay()); 
        cal.set(Calendar.DAY_OF_MONTH, objects.get(i).getDate("StartTime").getMonth()); 
        cal.set(Calendar.DAY_OF_YEAR, objects.get(i).getDate("StartTime").getYear()); 
        cal.set(Calendar.MINUTE, objects.get(i).getDate("StartTime").getMinutes()); 
        cal.set(Calendar.HOUR, objects.get(i).getDate("StartTime").getHours()); 
        event.setStartTime(cal); 

        Calendar calEnd = Calendar.getInstance(); 
        calEnd.set(Calendar.DAY_OF_WEEK, objects.get(i).getDate("EndTime").getDay()); 
        calEnd.set(Calendar.DAY_OF_MONTH, objects.get(i).getDate("EndTime").getMonth()); 
        calEnd.set(Calendar.DAY_OF_YEAR, objects.get(i).getDate("EndTime").getYear()); 
        calEnd.set(Calendar.MINUTE, objects.get(i).getDate("EndTime").getMinutes()); 
        calEnd.set(Calendar.HOUR, objects.get(i).getDate("EndTime").getHours()); 
        event.setEndTime(calEnd); 

        event.setColor(getResources().getColor(R.color.event_color_01)); 
        eventsWeb.add(event); 
       } 
      } 
     } 
    }); 
} 

回答

0

您可以使用beforeSave云方法来匹配时间。

Parse.Cloud.beforeSave("YourClassName", function(request, response) { 
    request.object.set("yourDateField", new Date()); 
    response.success(); 
}); 

在将行插入到类中之前,将使用服务器时间戳(GMT)设置“yourDateField”。

更多详细信息:parse cloud code guide