fastjson UseISO8601DateFormat在进行0点0分0秒时,转换为字符串出现错误

gpnt7bae  于 5个月前  发布在  其他
关注(0)|答案(3)|浏览(52)

在使用 SerializerFeature.UseISO8601DateFormat 对日期进行格式化时,如果相对应的小时分钟秒为零的时候,转换后的字符串格式不正确。

当前版本号:1.2.40

相关测试代码:

String dateString = "2017-11-17 00:00:00";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateString);
System.out.println(date);
JSONObject jsonObject = new JSONObject();
jsonObject.put("test", date);
System.out.println(jsonObject.toJSONString(jsonObject, SerializerFeature.UseISO8601DateFormat));
System.out.println(JSONObject.toJSONStringWithDateFormat(jsonObject, "yyyy-MM-dd'T'HH:mm:ssXXX"));

相关输出:
Fri Nov 17 00:00:00 CST 2017
{"test":"2017-11-17+08:00"}
{"test":"2017-11-17T00:00:00+08:00"}

vyswwuz2

vyswwuz21#

带+08:00不算出错吧

njthzxwz

njthzxwz2#

UseISO8601DateFormat这种格式应该是下面这种的pattern( "yyyy-MM-dd'T'HH:mm:ssXXX ),但是这里缺少了时分秒的信息输出。

相关问题