/** * {@inheritDoc} */ public final void setTime(final long time) { super.setTime(time); // need to check for null time due to Android java.util.Date(long) // constructor // calling this method.. if (this.time != null) { this.time.setTime(time); } }
/** * {@inheritDoc} */ public final void setTime(final long time) { super.setTime(time); // need to check for null time due to Android java.util.Date(long) constructor // calling this method.. if (this.time != null) { this.time.setTime(time); } }
/** * @param value a string representation of a date * @throws ParseException where the specified string is not a valid date */ public Date(final String value) throws ParseException { this(); setTime(getFormat().parse(value).getTime()); }
/** * {@inheritDoc} */ public final void setTime(final long time) { super.setTime(time); // need to check for null time due to Android java.util.Date(long) // constructor // calling this method.. if (this.time != null) { this.time.setTime(time); } }
/** * {@inheritDoc} */ public final void setTime(final long time) { super.setTime(time); // need to check for null time due to Android java.util.Date(long) // constructor // calling this method.. if (this.time != null) { this.time.setTime(time); } }
/** * {@inheritDoc} */ public final void setTime(final long time) { super.setTime(time); // need to check for null time due to Android java.util.Date(long) // constructor // calling this method.. if (this.time != null) { this.time.setTime(time); } }
/** * @param value a string representation of a date * @param pattern a date pattern to apply when parsing * @throws ParseException where the specified string is not a valid date */ public Date(String value, String pattern) throws ParseException { super(DEFAULT_PATTERN, Dates.PRECISION_DAY, TimeZones.getDateTimeZone()); final DateFormat parseFormat = new SimpleDateFormat(pattern); parseFormat.setTimeZone(TimeZones.getDateTimeZone()); setTime(parseFormat.parse(value).getTime()); } }
/** * @param value a string representation of a date * @param pattern a date pattern to apply when parsing * @throws ParseException where the specified string is not a valid date */ public Date(String value, String pattern) throws ParseException { super(DEFAULT_PATTERN, Dates.PRECISION_DAY, TimeZones.getDateTimeZone()); final DateFormat parseFormat = new SimpleDateFormat(pattern); parseFormat.setTimeZone(TimeZones.getDateTimeZone()); setTime(parseFormat.parse(value).getTime()); } }
/** * @param value a string representation of a date * @param pattern a date pattern to apply when parsing * @throws ParseException where the specified string is not a valid date */ public Date(String value, String pattern) throws ParseException { super(DEFAULT_PATTERN, Dates.PRECISION_DAY, TimeZones.getDateTimeZone()); final DateFormat parseFormat = new SimpleDateFormat(pattern); parseFormat.setTimeZone(TimeZones.getDateTimeZone()); setTime(parseFormat.parse(value).getTime()); } }
/** * @param value a string representation of a date * @param pattern a date pattern to apply when parsing * @throws ParseException where the specified string is not a valid date */ public Date(String value, String pattern) throws ParseException { super(DEFAULT_PATTERN, Dates.PRECISION_DAY, TimeZones.getDateTimeZone()); final DateFormat parseFormat = new SimpleDateFormat(pattern); parseFormat.setTimeZone(TimeZones.getDateTimeZone()); setTime(parseFormat.parse(value).getTime()); } }
/** * @param value a string representation of a date * @param pattern a date pattern to apply when parsing * @throws ParseException where the specified string is not a valid date */ public Date(String value, String pattern) throws ParseException { super(pattern, Dates.PRECISION_DAY, TimeZones.getDateTimeZone()); setTime(getFormat().parse(value).getTime()); } }
/** * @param value a string representation of a date * @throws ParseException where the specified string is not a valid date */ public Date(final String value) throws ParseException { this(); try { setTime(getFormat().parse(value).getTime()); } catch (ParseException pe) { if (CompatibilityHints.isHintEnabled(CompatibilityHints.KEY_VCARD_COMPATIBILITY)) { final DateFormat parseFormat = new SimpleDateFormat(VCARD_PATTERN); parseFormat.setTimeZone(TimeZones.getDateTimeZone()); setTime(parseFormat.parse(value).getTime()); } else { throw pe; } } }
/** * @param value a string representation of a date * @throws ParseException where the specified string is not a valid date */ public Date(final String value) throws ParseException { this(); try { setTime(getFormat().parse(value).getTime()); } catch (ParseException pe) { if (CompatibilityHints.isHintEnabled(CompatibilityHints.KEY_VCARD_COMPATIBILITY)) { final DateFormat parseFormat = new SimpleDateFormat(VCARD_PATTERN); parseFormat.setTimeZone(TimeZones.getDateTimeZone()); setTime(parseFormat.parse(value).getTime()); } else { throw pe; } } }
/** * @param value a string representation of a date * @throws ParseException where the specified string is not a valid date */ public Date(final String value) throws ParseException { this(); try { setTime(getFormat().parse(value).getTime()); } catch (ParseException pe) { if (CompatibilityHints.isHintEnabled(CompatibilityHints.KEY_VCARD_COMPATIBILITY)) { final DateFormat parseFormat = new SimpleDateFormat(VCARD_PATTERN); parseFormat.setTimeZone(TimeZones.getDateTimeZone()); setTime(parseFormat.parse(value).getTime()); } else { throw pe; } } }
/** * @param value a string representation of a date * @throws ParseException where the specified string is not a valid date */ public Date(final String value) throws ParseException { this(); try { setTime(getFormat().parse(value).getTime()); } catch (ParseException pe) { if (CompatibilityHints.isHintEnabled(CompatibilityHints.KEY_VCARD_COMPATIBILITY)) { final DateFormat parseFormat = new SimpleDateFormat(VCARD_PATTERN); parseFormat.setTimeZone(TimeZones.getDateTimeZone()); setTime(parseFormat.parse(value).getTime()); } else { throw pe; } } }
/** * ICU4J generates VTIMEZONE RRULEs with floating UNTIL, which results * in a bad VTIMEZONE because the UNTIL is converted to UTC, which will * be different depending on the default timezone of the server. So * to fix this, always add a day to UNTIL to make sure the RRULE * doesn't fall short. This should work for most timezones as timezones * don't usually change from day to day. Hopefully this is fixed in * an icu4j update. * @param vtz */ protected static void fixIcuVTimeZone(VTimeZone vtz) { for(Iterator<Observance> obIt = vtz.getObservances().iterator();obIt.hasNext();) { PropertyList<RRule> rruleList= obIt.next().getProperties(Property.RRULE); for(RRule rrule: rruleList) { Recur recur = rrule.getRecur(); if(recur.getUntil()!=null) { recur.getUntil().setTime(recur.getUntil().getTime() + ONE_DAY); } } } }
/** * ICU4J generates VTIMEZONE RRULEs with floating UNTIL, which results * in a bad VTIMEZONE because the UNTIL is converted to UTC, which will * be different depending on the default timezone of the server. So * to fix this, always add a day to UNTIL to make sure the RRULE * doesn't fall short. This should work for most timezones as timezones * don't usually change from day to day. Hopefully this is fixed in * an icu4j update. * @param vtz */ protected static void fixIcuVTimeZone(VTimeZone vtz) { for(Iterator<Observance> obIt = vtz.getObservances().iterator();obIt.hasNext();) { PropertyList<RRule> rruleList= obIt.next().getProperties(Property.RRULE); for(RRule rrule: rruleList) { Recur recur = rrule.getRecur(); if(recur.getUntil()!=null) { recur.getUntil().setTime(recur.getUntil().getTime() + ONE_DAY); } } } }
/** * Update the DTSTAMP property on a component. * @param date DTSTAMP value to update. If null, the DTSTAMP property * will be removed * @param comp component to update */ public static void setDtStamp(java.util.Date date, Component comp) { DtStamp dtStamp = (DtStamp) comp.getProperties().getProperty(Property.DTSTAMP); if (date == null) { if (dtStamp != null) { comp.getProperties().remove(dtStamp); } return; } if (dtStamp == null) { dtStamp = new DtStamp(); comp.getProperties().add(dtStamp); } dtStamp.getDate().setTime(date.getTime()); }
/** * Update the DTSTAMP property on a component. * @param date DTSTAMP value to update. If null, the DTSTAMP property * will be removed * @param comp component to update */ public static void setDtStamp(java.util.Date date, Component comp) { DtStamp dtStamp = (DtStamp) comp.getProperties().getProperty(Property.DTSTAMP); if (date == null) { if (dtStamp != null) { comp.getProperties().remove(dtStamp); } return; } if (dtStamp == null) { dtStamp = new DtStamp(); comp.getProperties().add(dtStamp); } dtStamp.getDate().setTime(date.getTime()); }
public Date getEndDate() { VEvent event = getEvent(); if(event==null) { return null; } DtEnd dtEnd = event.getEndDate(false); // if no DTEND, then calculate endDate from DURATION if (dtEnd == null) { Date startDate = getStartDate(); Dur duration = getDuration(); // if no DURATION, then there is no end time if(duration==null) { return null; } Date endDate = null; if(startDate instanceof DateTime) { endDate = new DateTime(startDate); } else { endDate = new Date(startDate); } endDate.setTime(duration.getTime(startDate).getTime()); return endDate; } return dtEnd.getDate(); }