zoukankan      html  css  js  c++  java
  • springboot后端时间到前端,相差8小时,时间格式不对

    spring boot后台时间正确,返回给前台的时间不正确,和后台差8个小时

    {
        "code": 1,
        "msg": "SUCCESS",
        "result": {
            "extractRecords": null,
            "chargeRecords": [
                {
                    "id": 4,
                    "account": "1604516",
                    "deposit_paid": 500,
                    "deposit_paid_time": "2019-05-30T03:01:03.000+0000"
                }
            ]
        }
    }
    

    原因是:

    spring-boot中对于@RestController或者@Controller+@ResponseBody注解的接口方法的返回值默认是Json格式,

    所以当对于date类型的数据,在返回浏览器端是会被spring-boot默认的Jackson框架转换,而Jackson框架默认的时区GMT(相对于中国是少了8小时)。

    处理方式:

    在application.yml添加配置

    spring:
      jackson:
        #日期格式化
        date-format: yyyy-MM-dd HH:mm:ss
        time-zone: GMT+8
    

    再次访问的数据:

    {
        "code": 1,
        "msg": "SUCCESS",
        "result": {
            "extractRecords": null,
            "chargeRecords": [
                {
                    "id": 4,
                    "account": "1604516",
                    "deposit_paid": 500,
                    "deposit_paid_time": "2019-05-30 11:01:03"
                }
            ]
        }
    }
    

    jackson的全部配置:

    spring:
      jackson:
        #日期格式化
        date-format: yyyy-MM-dd HH:mm:ss
        serialization:
           #格式化输出 
          indent_output: true
          #忽略无法转换的对象
          fail_on_empty_beans: false
        #设置空如何序列化
        defaultPropertyInclusion: NON_EMPTY
        deserialization:
          #允许对象忽略json中不存在的属性
          fail_on_unknown_properties: false
        parser:
          #允许出现特殊字符和转义符
          allow_unquoted_control_chars: true
          #允许出现单引号
          allow_single_quotes: true
    
  • 相关阅读:
    crontab
    待重写
    待重写
    多套开发资源使用情况
    待重写
    待重写
    待重写
    docker安装es
    docker run启动时目录映射研究
    rabbitmq第二篇:使用插件实现延迟功能
  • 原文地址:https://www.cnblogs.com/eternityz/p/12241201.html
Copyright © 2011-2022 走看看