当前位置: 首页 > 教程 > Fastjson >

Fastjson处理日期

精华
小牛编辑
126浏览
2023-03-14

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

package cn.xnip.fastjson;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import cn.xnip.domain.Student;

import java.util.Date;

/**
 * 小牛知识库网 - https://www.xnip.cn
 */
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 cn.xnip.fastjson;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import cn.xnip.domain.Student;

import java.util.Date;

/**
 * 小牛知识库网 - https://www.xnip.cn
 */
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 cn.xnip.fastjson;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import cn.xnip.domain.Student;

import java.util.Date;

/**
 * 小牛知识库网 - https://www.xnip.cn
 */
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"