Fastjson处理日期

Fastjson默认情况下对日期格式是没有做格式化处理的,默认输出日期的毫秒数。如下:

package com.yiidian.fastjson;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yiidian.domain.Student;

import java.util.Date;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class MainApp {

    public static void main(String args[]){
        Date date = new Date();
        String jsonstring = JSON.toJSONString(date);
        System.out.println(jsonstring);
    }

}

运行结果为:

1581432606370

如果希望对日期进行格式化输出,可以使用以下方式进行。

1 局部处理日期

局部处理日期,是指可以把toJSONString() 方法换成toJSONStringWithDateFormat() 方法

1.1 编写测试类

MainApp:

package com.yiidian.fastjson;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yiidian.domain.Student;

import java.util.Date;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class MainApp {

    public static void main(String args[]){
        Date date = new Date();
        String jsonstring = JSON.toJSONStringWithDateFormat(date,"yyyy-MM-dd HH:mm:ss");
        System.out.println(jsonstring);
    }

}

1.2 运行结果

"2020-02-11 22:54:04"

2 全局处理日期

全局处理日期,是指统一对需要转换的日期指定输出格式。

2.1 编写测试类

MainApp:

package com.yiidian.fastjson;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yiidian.domain.Student;

import java.util.Date;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class MainApp {

    public static void main(String args[]){
        Date date = new Date();
        JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
        String jsonstring = JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat);
        System.out.println(jsonstring);
    }

}

2.2 运行结果

"2020-02-11 22:55:39"