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"

 

一点教程,一个分享编程知识的公众号。跟着站长一起学习和进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「一点教程」,你已然超越了90%的程序员!

一点教程二维码