jackson 中JsonFormat date类型字段的使用

Posted FrankYou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jackson 中JsonFormat date类型字段的使用相关的知识,希望对你有一定的参考价值。

为了便于date类型字段的序列化和反序列化,需要在数据结构的date类型的字段上用JsonFormat注解进行注解
具体格式如下

  @JsonFormat(pattern = "yyyy-MM-dd‘T‘HH:mm:ss.SSSZ", locale = "zh", timezone = "GMT+8")

pattern 指定转化的格式,SSSZ(S指的是微秒,Z指时区)
此处的pattern和java.text.SimpleDateFormat中的Time Patterns一致

Letter    Date or Time Component    Presentation    Examples
G    Era designator    Text    AD
y    Year    Year    1996; 96
Y    Week year    Year    2009; 09
M    Month in year    Month    July; Jul; 07
w    Week in year    Number    27
W    Week in month    Number    2
D    Day in year    Number    189
d    Day in month    Number    10
F    Day of week in month    Number    2
E    Day name in week    Text    Tuesday; Tue
u    Day number of week (1 = Monday, ..., 7 = Sunday)    Number    1
a    Am/pm marker    Text    PM
H    Hour in day (0-23)    Number    0
k    Hour in day (1-24)    Number    24
K    Hour in am/pm (0-11)    Number    0
h    Hour in am/pm (1-12)    Number    12
m    Minute in hour    Number    30
s    Second in minute    Number    55
S    Millisecond    Number    978
z    Time zone    General time zone    Pacific Standard Time; PST; GMT-08:00
Z    Time zone    RFC 822 time zone    -0800
X    Time zone    ISO 8601 time zone    -08; -0800; -08:00

具体的pattern和转化后的date形式如下

Examples
The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone.
Date and Time Pattern    Result
"yyyy.MM.dd G ‘at‘ HH:mm:ss z"    2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ‘‘yy"    Wed, Jul 4, ‘01
"h:mm a"    12:08 PM
"hh ‘o‘‘clock‘ a, zzzz"    12 o‘clock PM, Pacific Daylight Time
"K:mm a, z"    0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa"    02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z"    Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ"    010704120856-0700
"yyyy-MM-dd‘T‘HH:mm:ss.SSSZ"    2001-07-04T12:08:56.235-0700
"yyyy-MM-dd‘T‘HH:mm:ss.SSSXXX"    2001-07-04T12:08:56.235-07:00
"YYYY-‘W‘ww-u"    2001-W27-3


以上是关于jackson 中JsonFormat date类型字段的使用的主要内容,如果未能解决你的问题,请参考以下文章

@JsonFormat格式化日期

springboot 底层 JackSon 的使用

JSON学习

json之jackson的注解@Jsonformat

在 Spring MVC 中,无法使用 Jackson @JsonFormat 将输入绑定到日期字段

springboot 请求接口 Date类型参数