Package ucar.nc2.time
Class CalendarDateUnit
java.lang.Object
ucar.nc2.time.CalendarDateUnit
A Calendar Date Unit: "unit since date"
UNIT since [-]Y[Y[Y[Y]]]-MM-DD[(T| )hh[:mm[:ss[.sss*]]][ [+|-]hh[[:]mm]]]
UNIT = "msecs" | "msec" |
"seconds" | "second" | "secs" | "sec" | "s" |
"minutes" | "minute" | "mins" | "min" |
"hours" | "hour" | "hrs" | "hr" | "h" |
"days" | "day" | "d"
"months since base_date by calendar field"
"years since base_date by calendar field"
bob simon's proposal:
"calendar_month since base_date"
"calendar_year since base_date"
* only integer values are allowed (?)
jon blowers comment:
In your view would the solution to add "by calendar field" to the existing udunits string be acceptable? It’s
backward-compatible with the current interpretation and adds clarification for the cases in which we *do* want to
do calendar-field arithmetic (instead of adding fixed intervals).
There’s an alternative proposition, in which the new units of calendar_month and calendar_year are added, with the
same semantic effect.
(However, personally I like the "by calendar field" solution since it allows other fields to vary between calendars,
e.g.
because of leap-seconds.)- Since:
- 3/18/11
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleaninthashCode()booleanmakeCalendarDate(double value) makeCalendarDate(int value) doublestatic CalendarDateUnitCreate a CalendarDateUnit from a calendar name and a udunit string = "unit since calendarDate"static CalendarDateUnitof(Calendar calt, CalendarPeriod.Field periodField, CalendarDate baseDate) Create a CalendarDateUnit from a calendar, a CalendarPeriod.Field, and a base datetoString()static CalendarDateUnitwithCalendar(Calendar calt, String udunitString) Create a CalendarDateUnit from a calendar and a udunit string = "unit since calendarDate"
-
Field Details
-
unixDateUnit
-
udunitPatternString
- See Also:
-
-
Method Details
-
of
Create a CalendarDateUnit from a calendar name and a udunit string = "unit since calendarDate"- Parameters:
calendarName- must match a calendar enum, or one of its aliases, see ucar.nc2.time.Calendar.get()udunitString- "unit since calendarDate"- Returns:
- CalendarDateUnit
- Throws:
IllegalArgumentException- if udunitString is not paresable
-
withCalendar
Create a CalendarDateUnit from a calendar and a udunit string = "unit since calendarDate"- Parameters:
calt- use this Calendar, or null for default calendarudunitString- "unit since calendarDate"- Returns:
- CalendarDateUnit
- Throws:
IllegalArgumentException- if udunitString is not paresable
-
of
public static CalendarDateUnit of(Calendar calt, CalendarPeriod.Field periodField, CalendarDate baseDate) Create a CalendarDateUnit from a calendar, a CalendarPeriod.Field, and a base date- Parameters:
calt- use this Calendar, or null for default calendarperiodField- a CalendarPeriod.Field like Hour or secondbaseDate- "since baseDate"- Returns:
- CalendarDateUnit
-
makeOffsetFromRefDate
-
makeCalendarDate
-
makeCalendarDate
-
getUdUnit
-
getBaseCalendarDate
-
getCalendarPeriod
-
getCalendarField
-
getCalendar
-
isCalendarField
public boolean isCalendarField() -
equals
-
hashCode
public int hashCode() -
toString
-