fastjson(三)处理日期

本文介绍了Fastjson在处理日期时的API用法,包括使用ISO-8601日期格式,全局修改日期格式,以及支持的多种日期格式。通过代码示例展示了如何操作,并提供了相关教程链接。
                       
 

本节我们来简单介绍一下fastjson对日期的处理

fastjson处理日期的API很简单,例如:

JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS");
  
  • 1

使用ISO-8601日期格式

JSON.toJSONString(obj, SerializerFeature.UseISO8601DateFormat);
  
  • 1

全局修改日期格式

JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);
  
  • 1
  • 2

反序列化能够自动识别如下日期格式:

  • ISO-8601日期格式
  • yyyy-MM-dd
  • yyyy-MM-dd HH:mm:ss
  • yyyy-MM-dd HH:mm:ss.SSS
  • 毫秒数字
  • 毫秒数字字符串
  • .NET JSON日期格式
  • new Date(198293238)

下面来看看具体的代码示例:

User 类:

package json.fastjson.date;import java.util.Date;public class User {    private Long id;    private String name;    // 增加时间字段    private Date date;    public Long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Date getDate() {        return date;    }    public void setDate(Date date) {        this.date = date;    }    @Override    public String toString() {        return "User [id=" + id + ", name=" + name + ", date=" + date + "]";    }}
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

测试类:

package json.fastjson.date;import java.util.Date;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.SerializerFeature;public class TestDate {    public static void main(String[] args) {        User user = new User();        user.setId(2L);        user.setName("guest");        user.setDate(new Date());        // 序列化        String jsonString = JSON.toJSONString(user);        System.out.println("序列化:" + jsonString);        // 序列化处理时间,方式一        jsonString = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd HH:mm:ss.SSS");        System.out.println("序列化处理时间,方式一:" + jsonString);        // 序列化处理时间,方式二:ISO-8601日期格式        jsonString = JSON.toJSONString(user, SerializerFeature.UseISO8601DateFormat);        System.out.println("序列化处理时间,方式二:ISO-8601日期格式:" + jsonString);        // 序列化处理时间,方式三:全局修改日期格式        JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";        jsonString = JSON.toJSONString(user, SerializerFeature.WriteDateUseDateFormat);        System.out.println("序列化处理时间,方式三:全局修改日期格式:" + jsonString);    }}
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

输出结果:

序列化:{"date":1516884789616,"id":2,"name":"guest"}序列化处理时间,方式一:{"date":"2018-01-25 20:53:09.616","id":2,"name":"guest"}序列化处理时间,方式二:ISO-8601日期格式:{"date":"2018-01-25T20:53:09.616+08:00","id":2,"name":"guest"}序列化处理时间,方式三:全局修改日期格式:{"date":"2018-01-25","id":2,"name":"guest"}
  
  • 1
  • 2
  • 3
  • 4
           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值