/** * Parses the target string and returns the corresponding date as the elapsed days from * {@code 0001/01/01 (YYYY/MM/DD)}. * @param dateString the target string * @param format the format kind * @return the elapsed days (0-origin) * @throws IllegalArgumentException if the target string is malformed */ public static Date valueOf(StringOption dateString, Date.Format format) { if (dateString == null) { throw new IllegalArgumentException("dateString must not be null"); //$NON-NLS-1$ } if (format == null) { throw new IllegalArgumentException("format must not be null"); //$NON-NLS-1$ } if (dateString.isNull()) { return null; } return valueOf(dateString.getAsString(), format); }
/** * parse w/ null. */ @Test public void parse_null() { StringOption option = new StringOption(null); Date date = Date.valueOf(option, Date.Format.SIMPLE); assertThat(date, is(nullValue())); }
/** * parse long-term future date. */ @Test public void parse_big() { Date date = Date.valueOf("29991231", Date.Format.SIMPLE); assertThat(date.getYear(), is(2999)); assertThat(date.getMonth(), is(12)); assertThat(date.getDay(), is(31)); }
/** * parses standard date string. */ @Test public void parse_standard() { Date date = Date.valueOf("1234-01-02", Date.Format.STANDARD); assertThat(date.getYear(), is(1234)); assertThat(date.getMonth(), is(1)); assertThat(date.getDay(), is(2)); }
/** * parse simple. */ @Test public void parse() { Date date = Date.valueOf("12340102", Date.Format.SIMPLE); assertThat(date.getYear(), is(1234)); assertThat(date.getMonth(), is(1)); assertThat(date.getDay(), is(2)); }
/** * parse the epoch date. */ @Test public void parse_zero() { Date date = Date.valueOf("00010101", Date.Format.SIMPLE); assertThat(date.getYear(), is(1)); assertThat(date.getMonth(), is(1)); assertThat(date.getDay(), is(1)); }
/** * parse w/ option value. */ @Test public void parse_option() { StringOption option = new StringOption("20100615"); Date date = Date.valueOf(option, Date.Format.SIMPLE); assertThat(date.getYear(), is(2010)); assertThat(date.getMonth(), is(6)); assertThat(date.getDay(), is(15)); }