【问题标题】:Date format with Spring Boot don`t workSpring Boot 的日期格式不起作用
【发布时间】:2016-06-16 12:58:26
【问题描述】:

我输入我的aplication.properties:

spring.jackson.date-format=dd/MM/yyyy HH:mm:ss

在我的Application.java:

@Configuration
@EnableAutoConfiguration
@SpringBootApplication
@EnableConfigurationProperties
@ComponentScan
@EnableWebMvc
public class Application extends SpringBootServletInitializer
{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }


}

然后我创建一种方法来返回一个Date

@RequestMapping(method = RequestMethod.GET, value = "/teste/")
public Date teste() {
    return new Date();
}

所以当我调用这个方法时,我得到了这个返回:

1466081600310

而不是

16/06/2016 10:00:00(今天)

这发生在我的对象中的另一个字段上。

【问题讨论】:

  • 你的控制器是如何注解的?您的 Application 也不需要所有这些注释。删除除@SpringBootApplication 之外的所有这些并重新启动...(实际上@EnableWebMvc 可能是您的格式不起作用的事实)。
  • 在我删除 @EnableMvc 后,只返回一个 Date 的方法有效,但我的对象中的 Date 没有:(
  • spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
  • 不工作..问题是当springboot获取日期2016-06-16(示例)时,他转换为一个java.util.Date并转换为2016-06-16(- 3 小时)所以改为转换为 2016-06-16 00:00:00 他转换为 2016-06-15 21:00:00

标签: java spring spring-boot jackson


【解决方案1】:

希望你已经找到原因了。

我使用的是 Spring Boot 2.1.3,也遇到了类似的问题。然后我找到了这个po:

https://github.com/spring-projects/spring-boot/issues/6642

这表明原因可能是“@EnableWebMvc”。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多