@Override Object extract(DateTimeOption holder) { Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, holder.get().getYear()); calendar.set(Calendar.MONTH, holder.get().getMonth() - 1); calendar.set(Calendar.DATE, holder.get().getDay()); calendar.set(Calendar.HOUR_OF_DAY, holder.get().getHour()); calendar.set(Calendar.MINUTE, holder.get().getMinute()); calendar.set(Calendar.SECOND, holder.get().getSecond()); return calendar; } });
@Override public String toString() { return String.format( "%04d-%02d-%02d %02d:%02d:%02d", //$NON-NLS-1$ getYear(), getMonth(), getDay(), getHour(), getMinute(), getSecond()); }
@Override public java.sql.Timestamp getPrimitiveJavaObject(Object o) { DateTimeOption object = (DateTimeOption) o; if (object == null || object.isNull()) { return null; } DateTime value = object.get(); // FIXME for optimization @SuppressWarnings("deprecation") java.sql.Timestamp result = new java.sql.Timestamp( value.getYear() - 1900, value.getMonth() - 1, value.getDay(), value.getHour(), value.getMinute(), value.getSecond(), 0); return result; }
@Test public void testFromIssueDate() { environment.setBatchArg(BatchContextParameters.FROM_ISSUE_DATE, "20111101"); environment.reload(); DateTime actual = parameters.getFromIssueDate(); assertThat(actual.getYear(), is(equalTo(2011))); assertThat(actual.getMonth(), is(equalTo(11))); assertThat(actual.getDay(), is(equalTo(01))); assertThat(actual.getHour(), is(equalTo(00))); assertThat(actual.getMinute(), is(equalTo(00))); assertThat(actual.getSecond(), is(equalTo(00))); }
@Test public void testToIssueDate() { environment.setBatchArg(BatchContextParameters.TO_ISSUE_DATE, "20111130"); environment.reload(); DateTime actual = parameters.getToIssueDate(); assertThat(actual.getYear(), is(equalTo(2011))); assertThat(actual.getMonth(), is(equalTo(11))); assertThat(actual.getDay(), is(equalTo(30))); assertThat(actual.getHour(), is(equalTo(23))); assertThat(actual.getMinute(), is(equalTo(59))); assertThat(actual.getSecond(), is(equalTo(59))); }
/** * parse long-term future date. */ @Test public void parse_big() { DateTime time = DateTime.valueOf("29991231235959", DateTime.Format.SIMPLE); assertThat(time.getYear(), is(2999)); assertThat(time.getMonth(), is(12)); assertThat(time.getDay(), is(31)); assertThat(time.getHour(), is(23)); assertThat(time.getMinute(), is(59)); assertThat(time.getSecond(), is(59)); }
/** * test for parse. */ @Test public void parse() { DateTime time = DateTime.valueOf("12340102123456", DateTime.Format.SIMPLE); assertThat(time.getYear(), is(1234)); assertThat(time.getMonth(), is(1)); assertThat(time.getDay(), is(2)); assertThat(time.getHour(), is(12)); assertThat(time.getMinute(), is(34)); assertThat(time.getSecond(), is(56)); }
/** * parses standard date-time string. */ @Test public void parse_standard() { DateTime time = DateTime.valueOf("1234-01-02 12:34:56", DateTime.Format.STANDARD); assertThat(time.getYear(), is(1234)); assertThat(time.getMonth(), is(1)); assertThat(time.getDay(), is(2)); assertThat(time.getHour(), is(12)); assertThat(time.getMinute(), is(34)); assertThat(time.getSecond(), is(56)); }
/** * parses standard date-time string. */ @Test public void parse_standard_w_zeros() { DateTime time = DateTime.valueOf("0001-01-01 00:00:00", DateTime.Format.STANDARD); assertThat(time.getYear(), is(1)); assertThat(time.getMonth(), is(1)); assertThat(time.getDay(), is(1)); assertThat(time.getHour(), is(0)); assertThat(time.getMinute(), is(0)); assertThat(time.getSecond(), is(0)); }
/** * parse epoch date. */ @Test public void parse_zero() { DateTime time = DateTime.valueOf("00010101000000", DateTime.Format.SIMPLE); assertThat(time.getYear(), is(1)); assertThat(time.getMonth(), is(1)); assertThat(time.getDay(), is(1)); assertThat(time.getHour(), is(0)); assertThat(time.getMinute(), is(0)); assertThat(time.getSecond(), is(0)); }
assertThat( "Second: " + calString, time.getSecond(), is(calendar.get(Calendar.SECOND)));
/** * parse w/ option value. */ @Test public void parse_option() { StringOption option = new StringOption("20100615112233"); DateTime time = DateTime.valueOf(option, DateTime.Format.SIMPLE); assertThat(time.getYear(), is(2010)); assertThat(time.getMonth(), is(6)); assertThat(time.getDay(), is(15)); assertThat(time.getHour(), is(11)); assertThat(time.getMinute(), is(22)); assertThat(time.getSecond(), is(33)); }