2013-03-26 2 views
0

안녕하세요, datetime을 기반으로하는 일정을 검색하고 있습니다. iam이 datetime을 Google 캘린더에서 이벤트를 가져 오는 쿼리로 전달할 때 예외가 발생했습니다. 아래Google 캘린더에서 일정을 가져올 때 잘못된 날짜/시간 예외가 발생했습니다.

private static void dateRangeQuery(CalendarService service) throws ServiceException, 
       IOException { 
      DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH:mm"); 
      //get current date time with Date() 
      Date date = new Date(); 
      System.out.println(dateFormat.format(date)); 

      //get current date time with Calendar() 
      Date dt = Calendar.getInstance().getTime(); 
      //System.out.println(dateFormat.format(cal.getTime())); 
      // System.out.println(cal.getTime()); 
      DateTime startTime = DateTime.parseDateTime(dateFormat.format(dt)); 
      Calendar cal2 = Calendar.getInstance(); 
      cal2.add(Calendar.MINUTE, 20); 
      System.out.println(dateFormat.format(cal2.getTime())); 
      System.out.println(cal2.getTime()); 
      DateTime endTime = DateTime.parseDate(dateFormat.format(cal2.getTime())); 

      CalendarQuery myQuery = new CalendarQuery(eventFeedUrl); 
      myQuery.setMinimumStartTime(startTime); 
      myQuery.setMaximumStartTime(endTime); 

      // Send the request and receive the response: 
      CalendarEventFeed resultFeed = service.query(myQuery, 
       CalendarEventFeed.class); 

      //System.out.println("Events from " + startTime.toString() + " to " 
      // + endTime.toString() + ":"); 
      System.out.println(); 
      for (int i = 0; i < resultFeed.getEntries().size(); i++) { 
       CalendarEventEntry entry = resultFeed.getEntries().get(i); 
       System.out.println("\t" + entry.getTitle().getPlainText()); 
      } 
      System.out.println(); 
      } 

예외 :

Exception in thread "main" java.lang.NumberFormatException: Invalid date/time format. 
    at com.google.gdata.data.DateTime.parseDateTime(DateTime.java:303) 
    at GoogleCalender.dateRangeQuery(GoogleCalender.java:185) 
    at GoogleCalender.main(GoogleCalender.java:115) 

사람이이 문제

답변

2

에게 DateTime.parseDateTime()에 의해 예상되는 XML의 날짜 패턴을 해결하는 방법을 제안 할 수 있습니다주세요 [-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]입니다.

따라서 날짜는 SimpleDateFormat yyyy-MM-dd'T'HH:mm:ss 패턴 (테스트하지 않음)을 사용하여 형식을 지정해야합니다.

그러나 더 간단한 방법은 java.util.Date을 인수로 취하는 DateTime 생성자를 사용하여 Date를 String으로 변환하는 대신 단순히 Date를 DateTime으로 변환하는 것입니다.

관련 문제