|
23 | 23 | import java.time.LocalDateTime; |
24 | 24 | import java.time.LocalTime; |
25 | 25 | import java.time.OffsetDateTime; |
| 26 | +import java.time.ZoneId; |
26 | 27 | import java.time.ZonedDateTime; |
27 | 28 | import java.util.HashMap; |
28 | 29 | import java.util.Map; |
@@ -882,35 +883,41 @@ public void testTypeConversions() throws Exception { |
882 | 883 | assertEquals(String.valueOf(rs.getObject(3, new HashMap<String, Class<?>>(){{put(JDBCType.FLOAT.getName(), Float.class);}})), "1.0"); |
883 | 884 |
|
884 | 885 | assertEquals(rs.getDate(4), Date.valueOf("2024-12-01")); |
885 | | - assertTrue(rs.getObject(4) instanceof ZonedDateTime);//ZonedDateTime |
886 | | - assertEquals(String.valueOf(rs.getObject(4)), "2024-12-01T00:00Z[UTC]");//ZonedDateTime |
| 886 | + assertTrue(rs.getObject(4) instanceof Date); |
| 887 | + assertEquals(rs.getObject(4), Date.valueOf("2024-12-01")); |
| 888 | + assertEquals(rs.getString(4), "2024-12-01T00:00Z[UTC]");//Underlying object is ZonedDateTime |
887 | 889 | assertEquals(rs.getObject(4, LocalDate.class), LocalDate.of(2024, 12, 1)); |
| 890 | + assertEquals(rs.getObject(4, ZonedDateTime.class), ZonedDateTime.of(2024, 12, 1, 0, 0, 0, 0, ZoneId.of("UTC"))); |
888 | 891 | assertEquals(String.valueOf(rs.getObject(4, new HashMap<String, Class<?>>(){{put(JDBCType.DATE.getName(), LocalDate.class);}})), "2024-12-01"); |
889 | 892 |
|
890 | 893 | assertEquals(rs.getTimestamp(5), Timestamp.valueOf("2024-12-01 12:34:56")); |
891 | | - assertTrue(rs.getObject(5) instanceof ZonedDateTime);//ZonedDateTime |
892 | | - assertEquals(String.valueOf(rs.getObject(5)), "2024-12-01T12:34:56Z[UTC]");//ZonedDateTime |
| 894 | + assertTrue(rs.getObject(5) instanceof Timestamp); |
| 895 | + assertEquals(rs.getObject(5), Timestamp.valueOf("2024-12-01 12:34:56")); |
| 896 | + assertEquals(rs.getString(5), "2024-12-01T12:34:56Z[UTC]"); |
893 | 897 | assertEquals(rs.getObject(5, LocalDateTime.class), LocalDateTime.of(2024, 12, 1, 12, 34, 56)); |
| 898 | + assertEquals(rs.getObject(5, ZonedDateTime.class), ZonedDateTime.of(2024, 12, 1, 12, 34, 56, 0, ZoneId.of("UTC"))); |
894 | 899 | assertEquals(String.valueOf(rs.getObject(5, new HashMap<String, Class<?>>(){{put(JDBCType.TIMESTAMP_WITH_TIMEZONE.getName(), LocalDateTime.class);}})), "2024-12-01T12:34:56"); |
895 | 900 |
|
896 | 901 | assertEquals(rs.getTimestamp(6), Timestamp.valueOf("2024-12-01 12:34:56.789")); |
897 | | - assertTrue(rs.getObject(6) instanceof ZonedDateTime);//ZonedDateTime |
898 | | - assertEquals(String.valueOf(rs.getObject(6)), "2024-12-01T12:34:56.789Z[UTC]");//ZonedDateTime |
| 902 | + assertTrue(rs.getObject(6) instanceof Timestamp); |
| 903 | + assertEquals(rs.getObject(6), Timestamp.valueOf("2024-12-01 12:34:56.789")); |
| 904 | + assertEquals(rs.getString(6), "2024-12-01T12:34:56.789Z[UTC]"); |
899 | 905 | assertEquals(rs.getObject(6, LocalDateTime.class), LocalDateTime.of(2024, 12, 1, 12, 34, 56, 789000000)); |
900 | 906 | assertEquals(String.valueOf(rs.getObject(6, new HashMap<String, Class<?>>(){{put(JDBCType.TIMESTAMP_WITH_TIMEZONE.getName(), LocalDateTime.class);}})), "2024-12-01T12:34:56.789"); |
901 | 907 |
|
902 | 908 | assertEquals(rs.getTimestamp(7), Timestamp.valueOf("2024-12-01 12:34:56.789789")); |
903 | | - assertTrue(rs.getObject(7) instanceof ZonedDateTime);//ZonedDateTime |
904 | | - assertEquals(String.valueOf(rs.getObject(7)), "2024-12-01T12:34:56.789789Z[UTC]");//ZonedDateTime |
| 909 | + assertTrue(rs.getObject(7) instanceof Timestamp); |
| 910 | + assertEquals(rs.getObject(7), Timestamp.valueOf("2024-12-01 12:34:56.789789")); |
| 911 | + assertEquals(rs.getString(7), "2024-12-01T12:34:56.789789Z[UTC]"); |
905 | 912 | assertEquals(rs.getObject(7, LocalDateTime.class), LocalDateTime.of(2024, 12, 1, 12, 34, 56, 789789000)); |
906 | 913 | assertEquals(String.valueOf(rs.getObject(7, new HashMap<String, Class<?>>(){{put(JDBCType.TIMESTAMP_WITH_TIMEZONE.getName(), OffsetDateTime.class);}})), "2024-12-01T12:34:56.789789Z"); |
907 | 914 |
|
908 | 915 | assertEquals(rs.getTimestamp(8), Timestamp.valueOf("2024-12-01 12:34:56.789789789")); |
909 | | - assertTrue(rs.getObject(8) instanceof ZonedDateTime);//ZonedDateTime |
910 | | - assertEquals(String.valueOf(rs.getObject(8)), "2024-12-01T12:34:56.789789789Z[UTC]");//ZonedDateTime |
| 916 | + assertTrue(rs.getObject(8) instanceof Timestamp); |
| 917 | + assertEquals(rs.getObject(8), Timestamp.valueOf("2024-12-01 12:34:56.789789789")); |
| 918 | + assertEquals(rs.getString(8), "2024-12-01T12:34:56.789789789Z[UTC]"); |
911 | 919 | assertEquals(rs.getObject(8, LocalDateTime.class), LocalDateTime.of(2024, 12, 1, 12, 34, 56, 789789789)); |
912 | 920 | assertEquals(String.valueOf(rs.getObject(8, new HashMap<String, Class<?>>(){{put(JDBCType.TIMESTAMP_WITH_TIMEZONE.getName(), ZonedDateTime.class);}})), "2024-12-01T12:34:56.789789789Z[UTC]"); |
913 | | - |
914 | 921 | } |
915 | 922 | } |
916 | 923 | } |
|
0 commit comments