code: public static ICalDate convert(DateValue date, TimeZone timezone) {
  		Calendar c = Calendar.getInstance(timezone);
  		c.clear();
  		c.set(Calendar.YEAR, date.year());
  		c.set(Calendar.MONTH, date.month() - 1);
  		c.set(Calendar.DATE, date.day());
  
  		boolean hasTime = (date instanceof DateTimeValue);
  		if (hasTime) {
  			DateTimeValue dateTime = (DateTimeValue) date;
  			c.set(Calendar.HOUR_OF_DAY, dateTime.hour());
  			c.set(Calendar.MINUTE, dateTime.minute());
  			c.set(Calendar.SECOND, dateTime.second());
  		}
  
  		return new ICalDate(c.getTime(), hasTime);
  	}
docs: Converts a google-rfc-2445 {@link DateValue} object to a {@link ICalDate}
  object.
  @param date the date value object
  @param timezone the timezone the date value is in
  @return the converted object