public static Partial getPartial(Instant t, Partial p) { Partial res = new Partial(p); for (int i = 0; i < p.size(); i++) { res = res.withField(p.getFieldType(i), t.get(p.getFieldType(i))); } return res; }
private Instant getNextSunday () { Instant result = getNowInstant(); int hour = result.get(DateTimeFieldType.hourOfDay()); if (hour > 0) result = result.plus((24 - hour) * TimeService.HOUR); int day = result.get(DateTimeFieldType.dayOfWeek()); result = result.plus((7 - day) * TimeService.DAY); return result; }
public static Partial getPartial(Instant t, Partial p) { Partial res = new Partial(p); for (int i = 0; i < p.size(); i++) { res = res.withField(p.getFieldType(i), t.get(p.getFieldType(i))); } return res; }
public static Partial getPartial(Instant t, Partial p) { Partial res = new Partial(p); for (int i = 0; i < p.size(); i++) { res = res.withField(p.getFieldType(i), t.get(p.getFieldType(i))); } return res; }
public static Partial getPartial(Instant t, Partial p) { Partial res = new Partial(p); for (int i = 0; i < p.size(); i++) { res = res.withField(p.getFieldType(i), t.get(p.getFieldType(i))); } return res; }
double[] getPrices () { if (null != this.prices) return prices; double nhc = getNominalHourlyConsumption(); prices = new double[profileSize]; double cumulativeUsage = 0.0; Instant start = service.getTimeslotRepo().currentTimeslot().getStartInstant(); for (int i = 0; i < profileSize; i++) { Instant when = start.plus(i * TimeService.HOUR); if (when.get(DateTimeFieldType.hourOfDay()) == 0) { cumulativeUsage = 0.0; } prices[i] = tariff.getUsageCharge(when, nhc, cumulativeUsage) / nhc; cumulativeUsage += nhc; } return prices; }
Instant rightInstant = rightTemporal.getJodaDateTime().toInstant(); for (int i = 0; i < idx; i++) { if (leftInstant.get(DateTime.getField(i)) > rightInstant.get(DateTime.getField(i))) { return false; else if (leftInstant.get(DateTime.getField(i)) < rightInstant.get(DateTime.getField(i))) { return true; return leftInstant.get(DateTime.getField(idx)) < rightInstant.get(DateTime.getField(idx));
public Integer compare(BaseTemporal other, Boolean forSort) { boolean differentPrecisions = this.getPartial().size() != other.getPartial().size(); int size; if (differentPrecisions) { size = this.getPartial().size() > other.getPartial().size() ? other.getPartial().size() : this.getPartial().size(); } else { size = this.getPartial().size(); } if (!isDateTime) { size += 3; } Instant left = this.jodaDateTime.toInstant(); Instant right = other.jodaDateTime.toInstant(); for (int i = 0; i < size; ++i) { if (left.get(DateTime.getField(i)) > right.get(DateTime.getField(i))) { return 1; } else if (left.get(DateTime.getField(i)) < right.get(DateTime.getField(i))) { return -1; } } if (differentPrecisions) { return forSort ? (this.getPartial().size() > other.getPartial().size() ? 1 : -1) : null; } return 0; }
Instant rightInstant = rightTemporal.getJodaDateTime().toInstant(); for (int i = 0; i < idx; i++) { if (leftInstant.get(DateTime.getField(i)) < rightInstant.get(DateTime.getField(i))) { return false; else if (leftInstant.get(DateTime.getField(i)) > rightInstant.get(DateTime.getField(i))) { return true; return leftInstant.get(DateTime.getField(idx)) > rightInstant.get(DateTime.getField(idx));
public static Integer between(org.joda.time.DateTime leftDateTime, org.joda.time.DateTime rightDateTime, int idx) { Integer ret = 0; Instant leftInstant = leftDateTime.toInstant(); Instant rightInstant = rightDateTime.toInstant(); switch(idx) { case 0: ret = Years.yearsBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getYears(); break; case 1: ret = Months.monthsBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getMonths(); break; case 2: ret = Days.daysBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getDays(); break; case 3: ret = Hours.hoursBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getHours(); break; case 4: ret = Minutes.minutesBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getMinutes(); break; case 5: ret = Seconds.secondsBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getSeconds(); break; case 7: ret = Days.daysBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getDays() / 7; } if (idx < 6) { while (++idx < 7) { if (leftInstant.get(DateTime.getField(idx)) > rightInstant.get(DateTime.getField(idx))) { ret += 1; break; } } } return ret; }