private static Time shift(Time v) { if (v == null) { return null; } long time = v.getTime(); int offset = TimeZone.getDefault().getOffset(time); return new Time((time + offset) % DateTimeUtil.MILLIS_PER_DAY); }
@Test public void testTimeConverter() { String sql = "select current_time as col1 from (values(0))"; Time sqlTime = sql2o.createQuery(sql).executeScalar(Time.class); assertThat(sqlTime, is(notNullValue())); assertTrue(sqlTime.getTime() > 0); Date date = sql2o.createQuery(sql).executeScalar(Date.class); assertThat(date, is(notNullValue())); LocalTime jodaTime = sql2o.createQuery(sql).executeScalar(LocalTime.class); assertTrue(jodaTime.getMillisOfDay() > 0); assertThat(jodaTime.getHourOfDay(), is(equalTo(new LocalTime().getHourOfDay()))); }
public void timeEvent(Time arg0) { // System.out.println("time " + arg0.getTime()); time = arg0.getTime(); }
public void testGetTime() throws Exception { con.createStatement() .executeUpdate( "INSERT INTO testtimezone(tstz,ts,t,tz) VALUES('2005-01-01 15:00:00 +0300', '2005-01-01 15:00:00', '15:00:00', '15:00:00 +0300')"); PreparedStatement ps = con.prepareStatement("SELECT tstz,ts,t,tz from testtimezone"); for (int i = 0; i < PREPARE_THRESHOLD; i++) { ResultSet rs = ps.executeQuery(); assertTrue(rs.next()); checkDatabaseContents( "SELECT tstz::text,ts::text,t::text,tz::text,d::text from testtimezone", new String[] { "2005-01-01 12:00:00+00", "2005-01-01 15:00:00", "15:00:00", "15:00:00+03" }); Time t; // timestamptz: 2005-01-01 15:00:00+03 t = rs.getTime(1); assertEquals( 43200000L, t.getTime()); // 2005-01-01 13:00:00 +0100 -> 1970-01-01 13:00:00 +0100 t = rs.getTime(1, cUTC); assertEquals( 43200000L, t.getTime()); // 2005-01-01 12:00:00 +0000 -> 1970-01-01 12:00:00 +0000 t = rs.getTime(1, cGMT03); assertEquals( 43200000L, t.getTime()); // 2005-01-01 15:00:00 +0300 -> 1970-01-01 15:00:00 +0300 t = rs.getTime(1, cGMT05); assertEquals( 43200000L, t.getTime()); // 2005-01-01 07:00:00 -0500 -> 1970-01-01 07:00:00 -0500 t = rs.getTime(1, cGMT13); assertEquals( -43200000L, t.getTime()); // 2005-01-02 01:00:00 +1300 -> 1970-01-01 01:00:00 +1300 // timestamp: 2005-01-01 15:00:00 t = rs.getTime(2); assertEquals(50400000L, t.getTime()); // 1970-01-01 15:00:00 +0100 t = rs.getTime(2, cUTC); assertEquals(54000000L, t.getTime()); // 1970-01-01 15:00:00 +0000 t = rs.getTime(2, cGMT03); assertEquals(43200000L, t.getTime()); // 1970-01-01 15:00:00 +0300 t = rs.getTime(2, cGMT05); assertEquals(72000000L, t.getTime()); // 1970-01-01 15:00:00 -0500 t = rs.getTime(2, cGMT13); assertEquals(7200000L, t.getTime()); // 1970-01-01 15:00:00 +1300 // time: 15:00:00 t = rs.getTime(3); assertEquals(50400000L, t.getTime()); // 1970-01-01 15:00:00 +0100 t = rs.getTime(3, cUTC); assertEquals(54000000L, t.getTime()); // 1970-01-01 15:00:00 +0000 t = rs.getTime(3, cGMT03); assertEquals(43200000L, t.getTime()); // 1970-01-01 15:00:00 +0300 t = rs.getTime(3, cGMT05); assertEquals(72000000L, t.getTime()); // 1970-01-01 15:00:00 -0500 t = rs.getTime(3, cGMT13); assertEquals(7200000L, t.getTime()); // 1970-01-01 15:00:00 +1300 // timetz: 15:00:00+03 t = rs.getTime(4); assertEquals(43200000L, t.getTime()); // 1970-01-01 13:00:00 +0100 t = rs.getTime(4, cUTC); assertEquals(43200000L, t.getTime()); // 1970-01-01 12:00:00 +0000 t = rs.getTime(4, cGMT03); assertEquals(43200000L, t.getTime()); // 1970-01-01 15:00:00 +0300 t = rs.getTime(4, cGMT05); assertEquals(43200000L, t.getTime()); // 1970-01-01 07:00:00 -0500 t = rs.getTime(4, cGMT13); assertEquals(-43200000L, t.getTime()); // 1970-01-01 01:00:00 +1300 rs.close(); } }