public static int getOffset(CalendarDate refDate, CalendarDate cd, CalendarPeriod timeUnit) { long msecs = cd.getDifferenceInMsecs(refDate); return (int) Math.round(msecs / timeUnit.getValueInMillisecs()); }
/** * Get offsets from firstDate, in units of timeUnit * @return for each runtime, a list of values from firstdate */ public List<Double> getOffsetsInTimeUnits() { double start = firstDate.getMillis(); List<Double> result = new ArrayList<>(runtimes.length); for (int idx=0; idx<runtimes.length; idx++) { double runtime = (double) getRuntime(idx); double msecs = (runtime - start); result.add(msecs / timeUnit.getValueInMillisecs()); } return result; }
public double makeOffsetFromRefDate( CalendarDate date) { if (isCalendarField) { if (date.equals(baseDate)) return 0.0; return date.getDifference(baseDate, periodField); } else { long msecs = date.getDifferenceInMsecs(baseDate); return msecs / period.getValueInMillisecs(); } }
double duration = timeUnit.getValueInMillisecs(); for (Object coord : coords) { CalendarDate cd = (CalendarDate) coord;