cdm/src/main/java/ucar/nc2/time/CalendarDateFormatter.java
static public CalendarDate isoStringToCalendarDate(Calendar calt, String iso) throws IllegalArgumentException {
	  DateTime dt = parseIsoTimeString(calt, iso);
    Calendar useCal = Calendar.of(dt.getChronology());
	  return new CalendarDate(useCal, dt);
  }
static public CalendarDate isoStringToCalendarDate(Calendar calt, String iso) throws IllegalArgumentException {
	  DateTime dt = parseIsoTimeString(calt, iso);
    Calendar useCal = Calendar.of(dt.getChronology());
	  return new CalendarDate(useCal, dt);
  }
static public CalendarDate isoStringToCalendarDate ( Calendar calt , String iso ) throws IllegalArgumentException { DateTime dt = parseIsoTimeString ( calt , iso ) ; Calendar useCal = Calendar . of ( dt . getChronology ( ) ) ; return new CalendarDate ( useCal , dt ) ; }
Convert an ISO formatted String to a CalendarDate.
@param calt calendar, may be null for default calendar (Calendar.getDefault())
@param iso ISO 8601 date String
<pre>possible forms for W3C profile of ISO 8601
Year:
YYYY (eg 1997)
Year and month:
YYYY-MM (eg 1997-07)
Complete date:
YYYY-MM-DD (eg 1997-07-16)
Complete date plus hours and minutes:
YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
Complete date plus hours, minutes and seconds:
YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
Complete date plus hours, minutes, seconds and a decimal fraction of a second
YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)

where:
YYYY = four-digit year
MM   = two-digit month (01=January, etc.)
DD   = two-digit day of month (01 through 31)
hh   = two digits of hour (00 through 23) (am/pm NOT allowed)
mm   = two digits of minute (00 through 59)
ss   = two digits of second (00 through 59)
s    = one or more digits representing a decimal fraction of a second
TZD  = time zone designator (Z or +hh:mm or -hh:mm)
except:
You may use a space instead of the 'T'
The year may be preceeded by a '+' (ignored) or a '-' (makes the date BCE)
The date part uses a '-' delimiter instead of a fixed number of digits for each field
The time part uses a ':' delimiter instead of a fixed number of digits for each field
</pre>
@return CalendarDate using given calendar
@throws IllegalArgumentException if the String is not a valid ISO 8601 date
@see "http://www.w3.org/TR/NOTE-datetime"
Convert an ISO formatted String to a CalendarDate . @param calt calendar may be null for default calendar ( Calendar . getDefault () ) @param iso ISO 8601 date String <pre > possible forms for W3C profile of ISO 8601 Year : YYYY ( eg 1997 ) Year and month : YYYY - MM ( eg 1997 - 07 ) Complete date : YYYY - MM - DD ( eg 1997 - 07 - 16 ) Complete date plus hours and minutes : YYYY - MM - DDThh : mmTZD ( eg 1997 - 07 - 16T19 : 20 + 01 : 00 ) Complete date plus hours minutes and seconds : YYYY - MM - DDThh : mm : ssTZD ( eg 1997 - 07 - 16T19 : 20 : 30 + 01 : 00 ) Complete date plus hours minutes seconds and a decimal fraction of a second YYYY - MM - DDThh : mm : ss . sTZD ( eg 1997 - 07 - 16T19 : 20 : 30 . 45 + 01 : 00 )