/** * Create a date from base and hour offset * @param base base date * @param offset hourss * @return base + offset as a Date */ public static CalendarDate makeOffsetDate(CalendarDate base, double offset) { return base.add(offset, CalendarPeriod.Field.Hour); }
/** * Create a date from base and hour offset * @param base base date * @param offset hourss * @return base + offset as a Date */ public static CalendarDate makeOffsetDate(CalendarDate base, double offset) { return base.add(offset, CalendarPeriod.Field.Hour); }
/** * Create a date from base and hour offset * @param base base date * @param offset hourss * @return base + offset as a Date */ public static CalendarDate makeOffsetDate(CalendarDate base, double offset) { return base.add(offset, CalendarPeriod.Field.Hour); }
public CalendarDateRange getCalendarRange() { CalendarDate rd = getRunDate(); if (coords != null) { CalendarDate start = rd.add(calendarPeriod.multiply(coords.get(0))); CalendarDate end = rd.add(calendarPeriod.multiply(coords.get(coords.size() - 1))); return CalendarDateRange.of(start, end); } else { CalendarDate start = rd.add(calendarPeriod.multiply(intervals.get(0).b1)); CalendarDate end = rd.add(calendarPeriod.multiply(intervals.get(intervals.size() - 1).b2)); return CalendarDateRange.of(start, end); } }
public Tinv convertReferenceDate(CalendarDate fromDate, CalendarPeriod fromUnit, CalendarDate toDate, CalendarPeriod toUnit) { CalendarDate start = fromDate.add(fromUnit.multiply(b1)); CalendarDate end = fromDate.add(fromUnit.multiply(b2)); int startOffset = TimeCoord.getOffset(toDate, start, toUnit); int endOffset = TimeCoord.getOffset(toDate, end, toUnit); return new TimeCoord.Tinv(startOffset, endOffset); }
public DateType add(TimeUnit d) { CalendarDate useDate = getCalendarDate(); CalendarDate result = useDate.add((int) d.getValueInSeconds(), CalendarPeriod.Field.Second); return new DateType(result); }
public DateType subtract(TimeUnit d) { CalendarDate useDate = getCalendarDate(); CalendarDate result = useDate.add((int) -d.getValueInSeconds(), CalendarPeriod.Field.Second); return new DateType(result); }
public CalendarDateRange(CalendarDate start, long durationInSecs) { this.start = start; this.end = start.add((int) durationInSecs, CalendarPeriod.Field.Second ); this.startDt = start.getDateTime(); this.endDt = end.getDateTime(); this.cal = start.getCalendar(); }
public DateType add(TimeUnit d) { CalendarDate useDate = getCalendarDate(); CalendarDate result = useDate.add((int) d.getValueInSeconds(), CalendarPeriod.Field.Second); return new DateType(result); }
public CalendarDateRange(CalendarDate start, long durationInSecs) { this.start = start; this.end = start.add((int) durationInSecs, CalendarPeriod.Field.Second ); this.startDt = start.getDateTime(); this.endDt = end.getDateTime(); this.cal = start.getCalendar(); }
public DateType subtract(TimeUnit d) { CalendarDate useDate = getCalendarDate(); CalendarDate result = useDate.add((int) -d.getValueInSeconds(), CalendarPeriod.Field.Second); return new DateType(result); }
private CalendarDate[] makeDateBounds(SubsetParams coords, CalendarDate runtime) { double[] time_bounds = coords.getTimeOffsetIntv(); CalendarDateUnit dateUnit = (CalendarDateUnit) coords.get(SubsetParams.timeOffsetUnit); CalendarDate[] result = new CalendarDate[2]; result[0] = runtime.add(CalendarPeriod.of((int) time_bounds[0], dateUnit.getCalendarField())); result[1] = runtime.add(CalendarPeriod.of((int) time_bounds[1], dateUnit.getCalendarField())); return result; }
private void assertAddReturnsExpectedDate(String baseDate, double value, Field units, String expectedResult) { CalendarDate base = CalendarDateFormatter.isoStringToCalendarDate(Calendar.gregorian, baseDate); CalendarDate result = base.add(value, units); assertEquals(units.toString(), expectedResult, CalendarDateFormatter.toDateTimeStringISO(result)); }
public CalendarDate getForecastDate(Grib2Record gr) { Grib2Pds pds = gr.getPDS(); if (pds.isTimeInterval()) { TimeCoord.TinvDate intv = getForecastTimeInterval(gr); return intv == null ? null : intv.getEnd(); } else { int val = pds.getForecastTime(); CalendarPeriod period = Grib2Utils.getCalendarPeriod(convertTimeUnit(pds.getTimeUnit())); if (period == null) return null; return gr.getReferenceDate().add(period.multiply(val)); } }