@@ -94,6 +94,8 @@ public String stringToString(Object bytesOrString, ClickHouseColumn column) {
9494 public static final ZonedDateTime EPOCH_START_OF_THE_DAY =
9595 ZonedDateTime .ofInstant (Instant .EPOCH , UTC_ZONE_ID );
9696
97+ public static final LocalDate EPOCH_DATE = LocalDate .of (1970 , 1 , 1 );
98+
9799 public String dateToString (Object value , ClickHouseColumn column ) {
98100 DateTimeFormatter formatter = DataTypeUtils .DATE_FORMATTER ;
99101
@@ -133,8 +135,9 @@ public String timeToString(Object value, ClickHouseColumn column) {
133135 } else if (value instanceof java .sql .Date ) {
134136 return formatter .format (EPOCH_START_OF_THE_DAY );
135137 } else if (value instanceof java .sql .Time ) {
136- java .sql .Time date = (java .sql .Time ) value ;
137- return formatter .format (ZonedDateTime .ofInstant (Instant .ofEpochMilli (date .getTime ()), UTC_ZONE_ID ));
138+ java .sql .Time time = (java .sql .Time ) value ;
139+ LocalTime lt = time .toLocalTime ();
140+ return formatter .format (lt );
138141 } else if (value instanceof Date ) {
139142 return formatter .format (((Date )value ).toInstant ().atZone (UTC_ZONE_ID ));
140143 }
@@ -162,8 +165,9 @@ public String dateTimeToString(Object value, ClickHouseColumn column) {
162165 return formatter .format (EPOCH_START_OF_THE_DAY );
163166
164167 } else if (value instanceof java .sql .Time ) {
165- java .sql .Time date = (java .sql .Time ) value ;
166- return formatter .format (ZonedDateTime .ofInstant (Instant .ofEpochMilli (date .getTime ()), UTC_ZONE_ID ));
168+ java .sql .Time time = (java .sql .Time ) value ;
169+ LocalTime lt = time .toLocalTime ();
170+ return formatter .format (lt .atDate (EPOCH_DATE ));
167171 } else if (value instanceof Date ) {
168172 return formatter .format (((Date )value ).toInstant ().atZone (UTC_ZONE_ID ));
169173 }
0 commit comments