private Date utcDateFromMs(long ms) { // This date will be UTC provided the default false value of the iCal4j property // "net.fortuna.ical4j.timezone.date.floating" has not been changed. return new Date(ms); }
public static java.sql.Date getSqlDate(final net.fortuna.ical4j.model.Date ical4jDate) { if (ical4jDate == null) { return null; } return new java.sql.Date(ical4jDate.getTime()); }
if (dtend.before(dtstart)) { dtend = org.unitedinternet.cosmo.calendar.util.Dates.getInstance( new Dur(0, 0, 0, 0).getTime(dtstart), dtstart); if (dtend.before(dtstart)) { dtend = org.unitedinternet.cosmo.calendar.util.Dates.getInstance( new Dur(1, 0, 0, 0).getTime(dtstart), dtstart); String key = instance.getRid().toString(); if (dtstart.before(rangeEnd) && dtend.after(rangeStart)) { put(key, instance); modified = true; boolean timeShift = dtstart.compareTo(riddt) != 0; Dur offsetTime = timeShift ? new Dur(riddt, dtstart) : null; Dur newDuration = timeShift ? new Dur(dtstart, dtend) : null; originalstart, false, false); remove(ikey); put(newinstance.getRid().toString(), newinstance); modified = true;
private void getDates(java.util.Date startRange, java.util.Date endRange, java.util.Date eventStart, Recur recur) { net.fortuna.ical4j.model.Date start = new net.fortuna.ical4j.model.Date(startRange); net.fortuna.ical4j.model.Date end = new net.fortuna.ical4j.model.Date(endRange); net.fortuna.ical4j.model.Date seed = new net.fortuna.ical4j.model.Date(eventStart); DateList dates = recur.getDates(seed, start, end, Value.DATE); for (int i=0; i<dates.size(); i++) { log.info("date_" + i + " = " + dates.get(i).toString()); } }
Date d = (Date)o1; if (d.before(rr.rangeStart)) { rr.rangeStart = d; Date maxRangeEnd = new Date(dur.getTime(rr.rangeStart)); Date dt = pend.makeDate(); if (dt.before(maxRangeEnd)) { maxRangeEnd = dt; maxRangeEnd); if ((rr.rangeEnd == null) || (rr.rangeEnd.after(maxRangeEnd))) { rr.rangeEnd = maxRangeEnd;
@Override public Property toVEvent(final TeamEventDO event) { net.fortuna.ical4j.model.Date date; if (event.isAllDay() == true) { final Date endUtc = CalendarUtils.getUTCMidnightDate(event.getEndDate()); final org.joda.time.DateTime jodaTime = new org.joda.time.DateTime(endUtc); // TODO sn should not be done // requires plus 1 because one day will be omitted by calendar. final net.fortuna.ical4j.model.Date fortunaEndDate = new net.fortuna.ical4j.model.Date(jodaTime.plusDays(1).toDate()); date = new net.fortuna.ical4j.model.Date(fortunaEndDate.getTime()); } else { date = new DateTime(event.getEndDate()); ((net.fortuna.ical4j.model.DateTime) date).setTimeZone(TIMEZONE_REGISTRY.getTimeZone(event.getTimeZone().getID())); } return new DtEnd(date); }
final Date candidateSeed = Dates.getInstance(cal.getTime(), value); if (getUntil() != null && candidate != null && candidate.after(getUntil())) { break; candidate = candidate1; if (!candidate.before(seed)) { if (!candidate.after(startDate)) { invalidCandidateCount++; } else if (getCount() > 0 break; } else if (!(getUntil() != null && candidate.after(getUntil()))) { return candidate;
/** * Evaluates property. * @param property The proeprty. * @param filter The time range filter. * @return The result. */ private boolean evaluate(Property property, TimeRangeFilter filter) { if(!(property instanceof DateProperty) ) { return false; } DateProperty dateProp = (DateProperty) property; Date date = dateProp.getDate(); return date.before(filter.getPeriod().getEnd()) && date.after(filter.getPeriod().getStart()) || date.equals(filter.getPeriod().getStart()) ; }
/** * Returns the latest applicable timezone observance for the specified date. * @param date the latest possible date for a timezone observance onset * @return the latest applicable timezone observance for the specified date or null if there are no applicable * observances */ public final Observance getApplicableObservance(final Date date) { Observance latestObservance = null; Date latestOnset = null; for (final Observance observance : getObservances()) { final Date onset = observance.getLatestOnset(date); if (latestOnset == null || (onset != null && onset.after(latestOnset))) { latestOnset = onset; latestObservance = observance; } } return latestObservance; }
/** * 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); } } } }
/** * {@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); } }
long delta = 0; if(!newStartDate.equals(lastRecurrenceId)) { delta = newStartDate.getTime() - lastRecurrenceId.getTime(); boolean isDtStartMissing = dtStart.equals(recurrenceId) && event.isAnyTime() == null; new java.util.Date(recurrenceId.getTime() + delta); recurrenceId = Dates.getInstance(newRidTime, recurrenceId); if(recurrenceId.equals(newStartDate) && delta!=0) { event.setStartDate(newStartDate);
int counted = 0; while ((counted < count) && (start.before(maxRangeEnd))) { Date end = new DateTime(days100.getTime(start)); DateList dl = r.getDates(seed, start, end, Value.DATE_TIME);
/** * {@inheritDoc} */ public boolean equals(final Object arg0) { // TODO: what about compareTo, before, after, etc.? if (arg0 instanceof DateTime) { return new EqualsBuilder().append(time, ((DateTime) arg0).time) .isEquals(); } return super.equals(arg0); }
@Override public int compareTo(DtStamp o) { return getDate().compareTo(o.getDate()); }
if (dtend.before(dtstart)) { dtend = org.unitedinternet.cosmo.calendar.util.Dates.getInstance( new Dur(0, 0, 0, 0).getTime(dtstart), dtstart); if (dtend.before(dtstart)) { dtend = org.unitedinternet.cosmo.calendar.util.Dates.getInstance( new Dur(1, 0, 0, 0).getTime(dtstart), dtstart); String key = instance.getRid().toString(); if (dtstart.before(rangeEnd) && dtend.after(rangeStart)) { put(key, instance); modified = true; boolean timeShift = dtstart.compareTo(riddt) != 0; Dur offsetTime = timeShift ? new Dur(riddt, dtstart) : null; Dur newDuration = timeShift ? new Dur(dtstart, dtend) : null; originalstart, false, false); remove(ikey); put(newinstance.getRid().toString(), newinstance); modified = true;
/** * @return * @throws ParseException */ public static TestSuite suite() throws ParseException { TestSuite suite = new TestSuite(); suite.addTest(new DateListTest(new DateList(), 0)); suite.addTest(new DateListTest(new Date().toString(), Value.DATE, 1)); suite.addTest(new DateListTest(new DateTime().toString(), Value.DATE_TIME, 1)); suite.addTest(new DateListTest(new DateTime(123).toString() + "," + new DateTime(999).toString(), Value.DATE_TIME, 2)); return suite; } }
@Override public boolean fromVEvent(final TeamEventDO event, final VEvent vEvent) { final boolean isAllDay = this.isAllDay(vEvent); if (vEvent.getProperties().getProperties(Property.DTEND).isEmpty()) { return false; } if (isAllDay) { // TODO sn change behaviour to iCal standard final org.joda.time.DateTime jodaTime = new org.joda.time.DateTime(vEvent.getEndDate().getDate()); final net.fortuna.ical4j.model.Date fortunaEndDate = new net.fortuna.ical4j.model.Date(jodaTime.plusDays(-1).toDate()); event.setEndDate(new Timestamp(fortunaEndDate.getTime())); } else { event.setEndDate(ICal4JUtils.getSqlTimestamp(vEvent.getEndDate().getDate())); } return true; } }