public ucar.nc2.time.Calendar getCalendar() { if (calendarDateRange != null) return calendarDateRange.getStart().getCalendar(); // LOOK return ucar.nc2.time.Calendar.getDefault(); }
/** * Does not handle non-standard Calendars * @param iso iso formatted string * @return Date * @throws IllegalArgumentException * @deprecated use isoStringToCalendarDate */ static public Date isoStringToDate(String iso) throws IllegalArgumentException { CalendarDate dt = isoStringToCalendarDate(null, iso); return dt.toDate(); }
/** * Create a CalendarDateUnit from a calendar name and a udunit string = "unit since calendarDate" * @param calendarName must match a calendar enum, or one of its aliases, see ucar.nc2.time.Calendar.get() * @param udunitString "unit since calendarDate" * @return CalendarDateUnit * @throws IllegalArgumentException if udunitString is not paresable */ static public CalendarDateUnit of(String calendarName, String udunitString) { Calendar calt = Calendar.get(calendarName); if (calt == null) calt = Calendar.getDefault(); return new CalendarDateUnit(calt, udunitString); }
/** * Get CalendarDate from ISO date string * @param calendarName get Calendar from Calendar.get(calendarName). may be null * @param isoDateString ISO date string * @return CalendarDate */ public static CalendarDate parseISOformat(String calendarName, String isoDateString) { Calendar cal = Calendar.get(calendarName); if (cal == null) cal = Calendar.getDefault(); return CalendarDateFormatter.isoStringToCalendarDate(cal, isoDateString); }
public CalendarDateRange getCalendarDateRange(CalendarDateUnit timeUnit) { if (nobs == 0) return null; if (dateRange != null) return dateRange; if (timeUnit != null && minTime <= maxTime) { dateRange = CalendarDateRange.of(timeUnit.makeCalendarDate(minTime), timeUnit.makeCalendarDate(maxTime)); } return dateRange; }
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(); } }
private CalendarDateRange(CalendarDate start, CalendarDate end) { this.start = start; this.end = end; this.startDt = start.getDateTime(); this.endDt = end.getDateTime(); this.cal = start.getCalendar(); assert this.cal.equals(end.getCalendar()); }
public String getUnits() { if (units != null) return units; CalendarPeriod.Field cf = calendarPeriod.getField(); if (cf == CalendarPeriod.Field.Month || cf == CalendarPeriod.Field.Year) return "calendar "+ cf.toString() + " since " + runDate; else return calendarPeriod.getField().toString() + " since " + runDate; }
/** * Create a CalendarDateUnit from a calendar, a CalendarPeriod.Field, and a base date * @param calt use this Calendar, or null for default calendar * @param periodField a CalendarPeriod.Field like Hour or second * @param baseDate "since baseDate" * @return CalendarDateUnit */ static public CalendarDateUnit of(Calendar calt, CalendarPeriod.Field periodField, CalendarDate baseDate) { if (calt == null) calt = Calendar.getDefault(); return new CalendarDateUnit(calt, periodField, baseDate); }
static public CalendarDateFormatter factory(CalendarPeriod period) { switch (period.getField()) { case Year: return new CalendarDateFormatter("yyyy"); case Month: return new CalendarDateFormatter("yyyy-MM"); case Day: return new CalendarDateFormatter("yyyy-MM-dd"); case Hour: return new CalendarDateFormatter("yyyy-MM-ddTHH"); default: return new CalendarDateFormatter("yyyy-MM-ddTHH:mm:ss"); } }
/** * Get CalendarDate from ISO date string * @param calendarName get Calendar from Calendar.get(calendarName). may be null * @param isoDateString ISO date string * @return CalendarDate */ public static CalendarDate parseISOformat(String calendarName, String isoDateString) { Calendar cal = Calendar.get(calendarName); if (cal == null) cal = Calendar.getDefault(); return CalendarDateFormatter.isoStringToCalendarDate(cal, isoDateString); }
/** * Does not handle non-standard Calendars * @param iso iso formatted string * @return Date * @throws IllegalArgumentException * @deprecated use isoStringToCalendarDate */ static public Date isoStringToDate(String iso) throws IllegalArgumentException { CalendarDate dt = isoStringToCalendarDate(null, iso); return dt.toDate(); }
private CalendarDateRange(CalendarDate start, CalendarDate end) { this.start = start; this.end = end; this.startDt = start.getDateTime(); this.endDt = end.getDateTime(); this.cal = start.getCalendar(); assert this.cal.equals(end.getCalendar()); }
/** * Create a CalendarDateUnit from a calendar and a udunit string = "unit since calendarDate" * @param calt use this Calendar, or null for default calendar * @param udunitString "unit since calendarDate" * @return CalendarDateUnit * @throws IllegalArgumentException if udunitString is not paresable */ static public CalendarDateUnit withCalendar(Calendar calt, String udunitString) { if (calt == null) calt = Calendar.getDefault(); return new CalendarDateUnit(calt, udunitString); }
/** * Does not handle non-standard Calendars * @param iso iso formatted string * @return Date * @throws IllegalArgumentException * @deprecated use isoStringToCalendarDate */ static public Date isoStringToDate(String iso) throws IllegalArgumentException { CalendarDate dt = isoStringToCalendarDate(null, iso); return dt.toDate(); }
/** * Create a CalendarDateUnit from a calendar and a udunit string = "unit since calendarDate" * @param calt use this Calendar, or null for default calendar * @param udunitString "unit since calendarDate" * @return CalendarDateUnit * @throws IllegalArgumentException if udunitString is not paresable */ static public CalendarDateUnit withCalendar(Calendar calt, String udunitString) { if (calt == null) calt = Calendar.getDefault(); return new CalendarDateUnit(calt, udunitString); }