17
17
import com .google .gson .JsonElement ;
18
18
import com .google .gson .JsonParseException ;
19
19
import com .google .gson .TypeAdapter ;
20
- import com .google .gson .internal .bind .util .ISO8601Utils ;
21
20
import com .google .gson .stream .JsonReader ;
22
21
import com .google .gson .stream .JsonWriter ;
23
22
import io .gsonfire .GsonFireBuilder ;
28
27
import java .lang .reflect .Type ;
29
28
import java .text .DateFormat ;
30
29
import java .text .ParseException ;
31
- import java .text . ParsePosition ;
30
+ import java .time . Instant ;
32
31
import java .time .LocalDate ;
33
32
import java .time .OffsetDateTime ;
34
33
import java .time .format .DateTimeFormatter ;
@@ -349,7 +348,8 @@ public java.sql.Date read(JsonReader in) throws IOException {
349
348
if (dateFormat != null ) {
350
349
return new java .sql .Date (dateFormat .parse (date ).getTime ());
351
350
}
352
- return new java .sql .Date (ISO8601Utils .parse (date , new ParsePosition (0 )).getTime ());
351
+ return new java .sql .Date (
352
+ Instant .from (DateTimeFormatter .ISO_INSTANT .parse (date )).toEpochMilli ());
353
353
} catch (ParseException e ) {
354
354
throw new JsonParseException (e );
355
355
}
@@ -383,7 +383,7 @@ public void write(JsonWriter out, Date date) throws IOException {
383
383
if (dateFormat != null ) {
384
384
value = dateFormat .format (date );
385
385
} else {
386
- value = ISO8601Utils . format (date , true );
386
+ value = DateTimeFormatter . ISO_INSTANT . format (date . toInstant () );
387
387
}
388
388
out .value (value );
389
389
}
@@ -402,7 +402,7 @@ public Date read(JsonReader in) throws IOException {
402
402
if (dateFormat != null ) {
403
403
return dateFormat .parse (date );
404
404
}
405
- return ISO8601Utils . parse (date , new ParsePosition ( 0 ));
405
+ return Date . from ( Instant . from ( DateTimeFormatter . ISO_INSTANT . parse (date ) ));
406
406
} catch (ParseException e ) {
407
407
throw new JsonParseException (e );
408
408
}
0 commit comments