看一下fastjson.JSON源码
public abstract class JSON implements JSONStreamAware, JSONAware {
public static TimeZone defaultTimeZone = TimeZone.getDefault();
public static Locale defaultLocale = Locale.getDefault();
public static String DEFAULT_TYPE_KEY = "@type";
static final SerializeFilter[] emptyFilters = new SerializeFilter[0];
public static String DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static int DEFAULT_PARSER_FEATURE;
public static int DEFAULT_GENERATE_FEATURE;
public static final String VERSION = "1.2.12";
private static final ThreadLocal<byte[]> bytesLocal;
private static final ThreadLocal<char[]> charsLocal;
可以看出,如果不指定时间格式,它默认格式为
public static String DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
所以我们只需要在json工具类中
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";
String userAgent = request.getHeader("User-Agent");
if (userAgent.indexOf("MSIE") > -1 && (userAgent.indexOf("MSIE 6") > -1)) {
writer.write(JSON.toJSONString(object, SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.DisableCircularReferenceDetect));
} else {
writer.write(JSON.toJSONString(object, SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.DisableCircularReferenceDetect));
}
或者数据转json格式的方法前,添加相应的时间格式即可,如:
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";