一般是因为服务器和手机本地时间格式不同导致的,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