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


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。