@@ -120,7 +120,7 @@ public Object unwrap(Date value, Class type, WrapperOptions options) {
120
120
if ( LocalTime .class .isAssignableFrom ( type ) ) {
121
121
final Time time = value instanceof java .sql .Time
122
122
? ( (java .sql .Time ) value )
123
- : new java . sql . Time ( value .getTime () % 86_400_000 );
123
+ : millisToSqlTime ( value .getTime () );
124
124
final LocalTime localTime = time .toLocalTime ();
125
125
long millis = time .getTime () % 1000 ;
126
126
if ( millis == 0 ) {
@@ -135,9 +135,7 @@ public Object unwrap(Date value, Class type, WrapperOptions options) {
135
135
}
136
136
137
137
if ( Time .class .isAssignableFrom ( type ) ) {
138
- return value instanceof Time
139
- ? value
140
- : new Time ( value .getTime () % 86_400_000 );
138
+ return millisToSqlTime ( value .getTime () );
141
139
}
142
140
143
141
if ( java .sql .Timestamp .class .isAssignableFrom ( type ) ) {
@@ -175,12 +173,8 @@ public Date wrap(Object value, WrapperOptions options) {
175
173
return null ;
176
174
}
177
175
178
- if ( value instanceof Time time ) {
179
- return time ;
180
- }
181
-
182
176
if ( value instanceof Date date ) {
183
- return new Time ( date .getTime () % 86_400_000 );
177
+ return millisToSqlTime ( date .getTime () );
184
178
}
185
179
186
180
if ( value instanceof LocalTime localTime ) {
@@ -197,7 +191,7 @@ public Date wrap(Object value, WrapperOptions options) {
197
191
}
198
192
199
193
if ( value instanceof Calendar calendar ) {
200
- return new Time ( calendar .getTimeInMillis () % 86_400_000 );
194
+ return millisToSqlTime ( calendar .getTimeInMillis () );
201
195
}
202
196
203
197
throw unknownWrap ( value .getClass () );
0 commit comments