https://www.sojson.com/blog/246.html

********************************************

Jackson  是  SpringMvc  官方推荐结合的,其实我是习惯用   Gson  的,但是由于公司统一使用   Jackson  ,自然对   Jackson  需要关注的更多。下面来说说其中一个注解,就是 @JsonFormat

@JsonFormat 使用

我们可以有两种用法(我知道的),在对象属性上,或者在属性的 getter 方法上,如下代码所示:

增加到属性上:

  1. /**更新时间 用户可以点击更新,保存最新更新的时间。**/
  2. @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  3. private Date updateTime;

增加到 getter 方法上:

  1. @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  2. public Date getUpdateTime() {
  3. return updateTime;
  4. }

以上结果输出都是一样的。这个没有什么好说明的。具体输出格式,自己调整 pattern

@JsonFormat 相差8小时问题

上面直接这么使用,在我们中国来讲和我们的北京时间,会相差8个小时,因为我们是东八区(北京时间)。

所以我们在格式化的时候要指定时区(timezone ),代码如下:

  1. /**更新时间 用户可以点击更新,保存最新更新的时间。**/
  2. @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
  3. private Date updateTime;

也就是增加一个属性,timezone="GMT+8" 即可,getter 方法我就不写了,一样的。

咱看看结果,我这个接口就是这么输出的:公安网备查询 ,以 http://www.sojson.com/api/gongan/sina.com.cn 为例。

  1. {
  2. "data": {
  3. "id": "11000002000016",
  4. "sitename": "新浪网",
  5. "sitedomain": "sina.com.cn",
  6. "sitetype": "交互式",
  7. "cdate": "2016-01-21",
  8. "comtype": "企业单位",
  9. "comname": "北京新浪互联信息服务有限公司",
  10. "comaddress": "北京市网安总队",
  11. "updateTime": "2017-09-05 02:26:34" //看这...这里就是刚刚输出的。
  12. },
  13. "status": 200
  14. }

Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明的更多相关文章

  1. 在SpringMVC中使用Jackson并格式化时间

    在spring MVC 3中,要实现REST风格的JSON服务,最简单的方式是使用 @ResponseBody 注解.该注解会自动把返回的对象,序列化为JSON. 来看一个最简单的例子.这个例子先使用 ...

  2. js 时间格式化 -- 时间加减实现

    时间格式化的方法: Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.ge ...

  3. velocity 时间显示 时间格式化 时间转化

    思想:通过前台展现层(Velocity)中的工具(tools)方法来修改. *************** 具体修改步骤: 1.在toolbox.xml配置文件中添加以下代码: <tool> ...

  4. @JsonFormat时间格式化注解使用

    @JsonFormat注解是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式,而不是yyyy-MM-dd HH:mm:ss ...

  5. springMVC中jackson的使用(包含JsonFormat 时间格式)

    前台使用ajax,后台 springMVC Java下常见的Json类库有Gson.JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行JSON和Ja ...

  6. JAVA中String.format的用法 格式化字符串,格式化数字,日期时间格式化,

    1.对整数进行格式化:%[index$][标识][最小宽度]转换方式        我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解, ...

  7. 【 格式化时间(SimpleDateFormat)用法】

    将特定字符串转换成Date格式 可以通过 new 一个 SimpleDateFormat 对象,通过对象调用parse方法实现 示例代码: String time = "2019-11-09 ...

  8. Java 学习 时间格式化(SimpleDateFormat)与历法类(Calendar)用法详解

    基于Android一些时间创建的基本概念 获取当前时间 方式一: Date date = new Date(); Log.e(TAG, "当前时间="+date); 结果: E/T ...

  9. Springboot 关于日期时间格式化处理方式总结

    项目中使用LocalDateTime系列作为DTO中时间的数据类型,但是SpringMVC收到参数后总报错,为了配置全局时间类型转换,尝试了如下处理方式. 注:本文基于Springboot2.x测试, ...

随机推荐

  1. E325 注意 发现交换文件

    git中的 交换文件应该是保持当前git的session的一种文件. git中,如果出现这个有两种原因: 1.你开了两个git客户端对同一个git仓库进行了操作.如果是这样的话,退出一个.正常退出,不 ...

  2. Out of memory error : GC overhead limit exceeded

    GC overhead limit exceeded 是指垃圾回收器通过分析当前内存使用趋势,提前抛出异常而不是真正等到内存耗尽再抛出异常.如果真正等到内存耗尽再抛出异常,可能的后果是:我们连保存重要 ...

  3. java 结束程序进程 代码

    结束firefox的进程,一句代码就够了,如下: Runtime.getRuntime().exec("taskkill /F /IM firefox.exe"); 结束qq: R ...

  4. 获取当前日期 java

    SimpleDateFormat smpDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFo ...

  5. 树莓派进阶之路 (034) - 基于linux的ftp脚本

    基于linux的ftp脚本: #!/bin/sh cd echo "彻底卸载原有的ftp" sudo apt-get remove --purge vsftpd #(--purge ...

  6. MVC+Spring.NET+NHibernate .NET SSH框架整合 C# 委托异步 和 async /await 两种实现的异步 如何消除点击按钮时周围出现的白线? Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    MVC+Spring.NET+NHibernate .NET SSH框架整合   在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MV ...

  7. opencv 中出现错误 -215:Assertion failed

    cv2.error: OpenCV(4.0.1) D:\Build\OpenCV\opencv-4.0.1\modules\imgproc\src\color.cpp:181: error: (-21 ...

  8. javascript刷新页面代码

    原文链接:http://caibaojian.com/javascript-refresh-page.html reload 方法,该方法强迫浏览器刷新当前页面. 语法:location.reload ...

  9. Springboot使用junit

    1. 首先要下载配套的spring-boot-starter-test包,注意版本要对应. compile("org.springframework.boot:spring-boot-sta ...

  10. vuex 温故而知新 mapState的使用

    虽然早就知道 mapState 的存在,但还是极少使用.最近代码的computed变多才开始意识到好处. 原来的代码: computed: { findLastSixMonthAir () { ret ...