首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Spring Boot中的JSON Java 8 LocalDateTime格式

Spring Boot中的JSON Java 8 LocalDateTime格式
EN

Stack Overflow用户
提问于 2015-04-30 07:08:04
回答 12查看 220.6K关注 0票数 137

我在Spring Boot应用程序中格式化Java8 LocalDateTime时遇到了一个小问题。对于'normal‘日期,我没有问题,但是LocalDateTime字段被转换为以下内容:

"startDate" : {
    "year" : 2010,
    "month" : "JANUARY",
    "dayOfMonth" : 1,
    "dayOfWeek" : "FRIDAY",
    "dayOfYear" : 1,
    "monthValue" : 1,
    "hour" : 2,
    "minute" : 2,
    "second" : 0,
    "nano" : 0,
    "chronology" : {
      "id" : "ISO",
      "calendarType" : "iso8601"
    }
  }

而我希望将其转换为类似以下内容:

"startDate": "2015-01-01"

我的代码如下所示:

@JsonFormat(pattern="yyyy-MM-dd")
@DateTimeFormat(iso = DateTimeFormat.ISO.TIME)
public LocalDateTime getStartDate() {
    return startDate;
}

但是上面的两个注解都不起作用,日期仍然像上面那样格式化。欢迎提出建议!

EN

回答 12

Stack Overflow用户

发布于 2016-01-27 15:20:47

我添加了com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.6.1依赖项,并开始获取以下格式的日期:

"birthDate": [
    2016,
    1,
    25,
    21,
    34,
    55
  ]

这不是我想要的但我越来越接近了。然后我添加了以下内容

spring.jackson.serialization.write_dates_as_timestamps=false

转换成application.properties文件,它给了我所需的正确格式。

"birthDate": "2016-01-25T21:34:55"
票数 94
EN

Stack Overflow用户

发布于 2016-05-14 04:53:49

这是在maven中使用的属性,这样您就可以在spring boot升级之间存活下来。

<dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>${jackson.version}</version>
</dependency>
票数 32
EN

Stack Overflow用户

发布于 2017-06-05 20:27:20

1)依赖性

 compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.8.8' 

2)日期-时间格式的注解。

public class RestObject {

    private LocalDateTime timestamp;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public LocalDateTime getTimestamp() {
        return timestamp;
    }
}

3) Spring Config。

@Configuration
public class JacksonConfig {

    @Bean
    @Primary
    public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) {
        System.out.println("Config is starting.");
        ObjectMapper objectMapper = builder.createXmlMapper(false).build();
        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
        return objectMapper;
    }
}
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29956175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档