@Override public LocalDate toFieldValue(Object hrdValue) { String stringValue = (String) hrdValue; return LocalDate.parse(stringValue); } };
@Override public LocalDate getValue(String dataPeriod) { return LocalDate.parse(dataPeriod); }
@Override public PeriodValue parseString(String string) { return LocalDate.parse(string); }
@Override public LocalDate render(int rowIndex) { assert view != null : "updateColumnSet() has not been called"; String text = view.getString(rowIndex); if(text == null) { return null; } return LocalDate.parse(text); }
protected int apply(String string) { return apply(LocalDate.parse(string)); }
@Override public PeriodValue fromSubFormKey(RecordRef ref) { String subRecordId = ref.getRecordId().asString(); String dateKey = subRecordId.substring(subRecordId.length() - 10); return LocalDate.parse(dateKey); }
@Override public Date render(int rowIndex) { assert view != null : "updateColumnSet() has not been called"; String text = view.getString(rowIndex); if(text == null) { return null; } return LocalDate.parse(text).atMidnightInMyTimezone(); }
@Override public ColumnView columnApply(int numRows, List<ColumnView> arguments) { if(arguments.size() != 2) { throw new FormulaSyntaxException("YEARFRAC() requires two arguments"); } ColumnView startView = arguments.get(0); ColumnView endView = arguments.get(1); double[] result = new double[numRows]; for (int i = 0; i < numRows; i++) { String start = startView.getString(i); String end = endView.getString(i); if(start == null || end == null) { result[i] = Double.NaN; } else { result[i] = compute(LocalDate.parse(start), LocalDate.parse(end)); } } return new DoubleArrayColumnView(result); } }
private void check(String startDateString, String endDateString, double expectedFrac) { LocalDate startDate = LocalDate.parse(startDateString); LocalDate endDate = LocalDate.parse(endDateString); double frac = YearFracFunction.compute(startDate, endDate); double diff = Math.abs(frac - expectedFrac); if(diff > 0.001) { throw new AssertionError(String.format("Expected YEARFRAC(%s, %s) = %10.5f, but was %10.5f", startDateString, endDateString, expectedFrac, frac)); } } }
@Override public LocalDate parseJsonValue(JsonValue value) { if(value.isJsonObject()) { value = value.get("value"); } return LocalDate.parse(value.asString()); }
private FieldValue parseDate(JsonValue value) { if(value.isJsonObject()) { JsonValue object = value; if(object.get("type").asString().equals("LocalDate")) { return LocalDate.parse(object.get("value").asString()); } } return null; }
@Override public ColumnView columnApply(int numRows, List<ColumnView> arguments) { ColumnView dateView = arguments.get(0); ColumnView daysView = arguments.get(1); String[] result = new String[dateView.numRows()]; for (int i = 0; i < dateView.numRows(); i++) { LocalDate date = LocalDate.parse(dateView.getString(i)); int days = (int)daysView.getDouble(i); result[i] = date.plusDays(days).toString(); } return new StringArrayColumnView(result); } }
static boolean isSnoozed(AccountStatus status, String snoozePrefix) { try { Storage storage = Storage.getLocalStorageIfSupported(); if(storage == null) { return false; } String accountSnooze = storage.getItem(snoozePrefix + status.getUserAccountId()); if(accountSnooze == null) { return false; } LocalDate snoozeDate = LocalDate.parse(accountSnooze); LocalDate today = new LocalDate(); if(today.before(snoozeDate)) { return true; } else { return false; } } catch (Exception e) { return false; } } }