Fatal Exception: d.d.e.t: Apr 11, 2020 00:00:00 at com.google.gson.internal.bind.DateTypeA...

一般是因为服务器和手机本地时间格式不同导致的,Gson json转换时会默认按本地格式,格式化日期.如果不成功,则再按照英文日期格式格式化日期,如果不成功则用ISO8601Utils格式化日期,如果再不成功就抛出异常
解决(语言调成英文):

         Logger.i( "eeeeeee" , new Gson().toJson(getNowDate()));
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
        Logger.i( "eeeeeee" , gson.toJson(getNowDate()));
        SpUtils.obtain("test").save("test1",gson.toJson(getNowDate()));
        String s = SpUtils.obtain("test").getString("test1");
        Date date = gson.fromJson(s,Date.class);
        Logger.i( "eeeeeee" , date.toString());
        Logger.i("eeeeeee" , gson.toJson(date));

运行结果如下:
Date类为java.util.Date


Fatal Exception: d.d.e.t: Apr 11, 2020 00:00:00 at com.google.gson.internal.bind.DateTypeA..._第1张图片
image.png

你可能感兴趣的:(Fatal Exception: d.d.e.t: Apr 11, 2020 00:00:00 at com.google.gson.internal.bind.DateTypeA...)