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或者@[email protected]注解的接口方法的返回值默认是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

原文地址:https://www.cnblogs.com/eternityz/p/12241201.html

时间: 2024-10-05 23:25:04

springboot后端时间到前端,相差8小时,时间格式不对的相关文章

http目录显示时间与服务器相差8小时

一直用nginx做http服务,代码里访问过文件地址,并未认真关注过访问http目录下的时间戳.今天浏览文件的时候发现一个问题.web上显示的文件时间戳与服务器时间相比差8个小时.具体表现看下图: web目录时间 服务器时间 很明显标准时间GMT,没有加中国东八区.正确的做法是在nginx配置文件里关于本目录字段添加如下语句: autoindex_localtime on; #GMT时间 改为 本地时间 效果如下: UTC是我们现在用的时间标准,GMT是老的时间计量标准.UTC是根据原子钟来计算

java时间与服务器相差八小时

这事已经发生一次了,这次又忘了 记一下 tzselect选择好时区 在执行一下这个命令就好了 timedatectl set-timezone Asia/Shanghai 原文地址:https://blog.51cto.com/14051712/2370615

在MongoVUE中发现插入的时间和实际的时间相差8小时?

在Mongodb使用过程中,发现一个问题,就是我们插入Date类型时会发现保存到mongodb中的数据却晚了8个小时,这是为什么呢?我想大家在使用客户端工具如MongoVUE时,也会发现查询出来的数据也是晚了8个小时的?下面简单描述下原因. 上面的两个问题,我们依次来看是为什么? (1)在Java编码过程中,使用mongodb的java驱动包保存数据时,数据库里的数据比实际时间少了8个小时,为什么? 为了找打原因,我下载了个mongodb的java驱动包,想通过驱动包来找到原因,驱动包如下: 我

解决weblogic与系统时间相差8小时的问题

解决weblogic与系统时间相差8小时的问题 在一般情况下weblogic与系统时间是很少会出现时间差的问题,但有可能在某一特定的情况下就会出现,如使用weblogic8版本时可能会出现时差问题: 调整时差方法: 第一步: 1.找到D:\bea\jdk142_08\jre\lib\zi\Etc和D:\bea\jrockit81sp5_142_08\jre\lib\zi\Etc找到这两个文件夹里的Etc这个文件夹,里面就是时区文件, 第二步: 2.将GMT-8这个文件复制一份然后重命名为GMT来

php 时间获取相差8小时

php 时间获取相差8小时 by 伍雪颖 date_default_timezone_set('PRC'); $timeStr = date("Y-m-d H:i:s",time()); 服务器加上这句话刚好可以解决AFNetWorking解析json的问题 Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn't be completed. (Cocoa error 3840.)" (JSO

告警日志时间与系统时间相差8小时

系统默认的log_timestamps为UTC,与linux系统时间相差8小时 解决方法: SET GLOBAL log_timestamps = SYSTEM;(立即生效,重启mysql服务,失效) 永久生效方法,在/etc/my.cnf中添加 log_timestamps=system 原文地址:https://www.cnblogs.com/tonnytangy/p/11966344.html

Manjaro 与 Windows 双系统时间相差8小时

Manjaro 与 Windows 双系统时间相差8小时 产生原因: Windows 将本地硬件时间作为设定时区(如 UTC+8)的区时,而 Linux 默认将其作为 UTC 时间. 解决方式: 让 Manjaro 不要将其作为 UTC 时间: sudo timedatectl set-local-rtc 1 原文地址:https://www.cnblogs.com/skylee03/p/12230511.html

前端和后台对时间数值的增减操作(JavaScript和C#两种方法)

最近在做一个视频回放项目,记录下一点总结. 应用背景: 假设有一个门禁系统记录着门禁的人员进出刷卡信息,门禁装有视频录像设备,现在要根据人员的刷卡时间调出其刷卡时间点前后一段时间的录像.关于视频回放部分具体实现过程较复杂本文不涉及,提一下其中涉及到的对时间数值的增减操作. 目标: 以时间格式的字符串“2015-01-01 00:00:00”为例,返回该时间点前30秒和后30秒的时间格式的字符串. 前端和后台起始都可以实现,只是方法不同而已. 后台(C#)实现方法: 1 string str =

[后端人员耍前端系列]KnockoutJs篇:使用WebApi+Bootstrap+KnockoutJs打造单页面程序

一.前言 在前一个专题快速介绍了KnockoutJs相关知识点,也写了一些简单例子,希望通过这些例子大家可以快速入门KnockoutJs.为了让大家可以清楚地看到KnockoutJs在实际项目中的应用,本专题将介绍如何使用WebApi+Bootstrap+KnockoutJs+Asp.net MVC来打造一个单页面Web程序.这种模式也是现在大多数公司实际项目中用到的. 二.SPA(单页面)好处 在介绍具体的实现之前,我觉得有必要详细介绍了SPA.SPA,即Single Page Web App