@JsonFormat 实现日期格式自动格式化

目录
  • @JsonFormat 日期格式自动格式化
    • 例如,某个类里面有个属性
  • @JsonFormat时间格式化注解使用
    • @JsonFormat注解是一个时间格式化注解

@JsonFormat 日期格式自动格式化

通常日期格式都是以时间戳的形式存放在数据库里,当前端页面通过接口查询时,我们会将一个对象的某些属性查出来返回给页面。

例如,某个类里面有个属性

Timestamp create_time

给这个对象实体类中的get方法加注解:@JsonFormat 来实现格式的自动转换:

依赖的jar包:jackson-annotations-2.8.5.jar

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
public Timestamp getCreate_time() {
        return create_time;
}

加注解前的返回值是一个时间戳,加了之后则按照注解的格式自动格式化。

@JsonFormat时间格式化注解使用

@JsonFormat注解是一个时间格式化注解

比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式,而不是yyyy-MM-dd HH:mm:ss这样的中文时间,因此我们需要用到JsonFormat注解来格式化我们的时间。

JsonFormat注解是jackson包里面的一个注解,因此在使用的时候需要引入fasterxml maven的jar包,如下所示。

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.2</version>
</dependency>

引入fasterxml maven jar包之后,就可以在实体类属性上面使用@JsonFormat注解了,要注意的是,它只会在类似@ResponseBody返回json数据的时候,才会返回格式化的yyyy-MM-dd HH:mm:ss时间,你直接使用System.out.println()输出的话,仍然是类似“Fri Dec 01 21:05:20 CST 2017”这样的时间样式。

package demo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
public class Student {
    private int id;
    private String username;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createDate;
    //getter setter省略。。。
}

当我们这样@ResponseBody输出json数据的时候,@JsonFormat注解标识的date属性就会自动返回yyyy-MM-dd HH:mm:ss样式的时间了,例如。

@PostMapping("/api/getStudent")
@ResponseBody
public Map<String,Object> findStudentById(Long stuId){
    Map<String,Object> resultMap = new HashMap<>();
    Student stu = StudentService.findStudentById(stuId);
    resultMap.put("result",stu);
    return resultMap;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决json日期格式问题的3种方法

    开发中有时候需要从服务器端返回json格式的数据,在后台代码中如果有DateTime类型的数据使用系统自带的工具类序列化后将得到一个很长的数字表示日期数据,如下所示: 复制代码 代码如下: //设置服务器响应的结果为纯文本格式            context.Response.ContentType = "text/plain";           //学生对象集合            List<Student> students = new List<St

  • JsonFormat与@DateTimeFormat注解实例解析

    这篇文章主要介绍了JsonFormat与@DateTimeFormat注解实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景:从数据库获取时间传到前端进行展示的时候,我们有时候可能无法得到一个满意的时间格式的时间日期,在数据库中显示的是正确的时间格式,获取出来却变成了很丑的时间戳,@JsonFormat注解很好的解决了这个问题,我们通过使用@JsonFormat可以很好的解决:后台到前台时间格式保持一致的问题,其次,另一个问题是,我们

  • springmvc fastjson 反序列化时间格式化方法(推荐)

    第一种情况是从后台拿到数据,进行反序列化,反序列化格式时间:试了一下很多网上的方法,最后发现还是在实体类上面的日期字段加上如下注解,可以完成格式化操作,否则默认就都是时间戳的格式: @JSONField (format="yyyy-MM-dd HH:mm:ss")  public Date birthday; @JSONField (format="yyyy-MM-dd HH:mm:ss")  public Date birthday; 第二种情况是:respons

  • springboot json时间格式化处理的方法

    application.properties中加入如下代码 springboot 默认使用 jackson 解析 json spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 如果个别实体需要使用其他格式的 pattern,在实体上加入注解即可 import org.springframework.format.annotation.DateTimeFormat; import com.fas

  • @JsonFormat 实现日期格式自动格式化

    目录 @JsonFormat 日期格式自动格式化 例如,某个类里面有个属性 @JsonFormat时间格式化注解使用 @JsonFormat注解是一个时间格式化注解 @JsonFormat 日期格式自动格式化 通常日期格式都是以时间戳的形式存放在数据库里,当前端页面通过接口查询时,我们会将一个对象的某些属性查出来返回给页面. 例如,某个类里面有个属性 Timestamp create_time 给这个对象实体类中的get方法加注解:@JsonFormat 来实现格式的自动转换: 依赖的jar包:

  • Mybatis日期格式自动转换需要用到的两个注解说明

    Mybatis日期格式自动转换 public class Student { public Integer id; public String studentName; @JsonFormat(pattern="yyyy-MM-dd") //从数据库读出日期格式时,进行转换的规则 @DateTimeFormat(pattern = "yyyy-MM-dd")//接受从前端传入的日期格式,映射到java类日期属性的规则 public Date birth; publi

  • js正则格式化日期时间自动补0的两种解法

    目录 背景 解法一 思路: 代码: 解法二 思路: 总结 参考 背景 时间日期格式化的需求很常见,也有很多工具类转换方法,比如需要将2022-3-4这种日期格式转化为2022-03-04,也就是实现个位数月份或天数日期自动前置补 0.用moment.js.dayjs第三方库的 API 也很容易做到,这里我们自己实现一下看看. 解法一 思路: 先来看看常规方案.就用这个2022-3-4日期来举例子,我们先根据-切分字符串,得到一个数组,然后分别识别3.4这种个位数日期,<10就前置补 0,否则不操

  • Vue filter格式化时间戳时间成标准日期格式的方法

    调用实例:yyyy-MM-dd或者yyyy-MM-dd hh:mm:ss进行格式 <div>{{data | dataFormat('yyyy-MM-dd hh:mm:ss')}}</div> 代码: import Vue from 'vue' Vue.filter('dataFormat', function (value, fmt) { let getDate = new Date(value); let o = { 'M+': getDate.getMonth() + 1,

  • springmvc学习笔记-返回json的日期格式问题的解决方法

    springmvc学习笔记--json--返回json的日期格式问题 (一)输出json数据  springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annotation-driven 2.在依赖管理中添加jackson-mapper-asl <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mappe

  • SpringBoot日期格式转换之配置全局日期格式转换器的实例详解

    1. SpringBoot设置后台向前台传递Date日期格式 在springboot应用中,@RestController注解的json默认序列化中,日期格式默认为:2020-12-03T15:12:26.000+00:00类型的显示. 在实际显示中,我们需要对其转换成我们需要的显示格式. 1.1 方式1:配置文件修改 配置文件配置application.yml: spring: # 配置日期格式化 jackson: date-format: yyyy-MM-dd HH:mm:ss #时间戳统一

  • EasyUI修改DateBox和DateTimeBox的默认日期格式示例

    最近整理Easyui控件的时候,对Easyui的DateBox控件和DateTimeBox控件进行了梳理,而我之所以将EasyUI的DateBox控件和DateTimeBox控件放在一起,归为一类,是因为这两个控件没有什么区别,如果你非得说这两个控件有区别,也无非是DateTimeBox控件后面除了基本的年月日之外带上了小时或者分钟或者秒什么的,更何况,这两个控件在进行日期格式化时所采用的方法也是一样的. DateBox介绍: Demo实例参看:http://www.jeasyui.com/de

  • 详解js中常规日期格式处理、月历渲染和倒计时函数

    前言 相信大家都知道日期格式处理在前端的日常任务中非常常见,但是为此引入monent.js这样的类库又会显得有点臃肿,毕竟我们一个特定的项目中,并不需要monent.js那么全的涵盖范围.另外,如果现在公司让你自己手写一个日历组件(月历.周历),日历组件中需要耦合我们的其他业务需求,如果有一个任务列表,当11月22号的待进行任务,我需要在日历上有一个绿色圆点,表示当天有待办事项. 下面介绍一些常规的函数,希望对大家有用. 月历效果图 函数目录 getFormatDateStr 获得指定日期格式的

  • python中日期和时间格式化输出的方法小结

    本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化日期时间的函数为datetime.datetime.strftime():由字符串转为日期型的函数为:datetime.datetime.strptime(),两个函数都涉及日期时间的格式化字符串,这里提供详细的代码详细演示了每一个参数的使用方法及范例. 下面是格式化日期和时间时可用的替换符号 %a 输出当前是星期几的英文简写 >>> import datetime >&

  • PHP日期函数date格式化UNIX时间的方法

    本文实例讲述了PHP日期函数date格式化UNIX时间的方法.分享给大家供大家参考.具体分析如下: 日期函数可以根据指定的格式将一个unix时间格式化成想要的文本输出 使用到函数语法如下 string date (string $Format); string date (string $Format, int $Time); 下面是演示代码 <?php echo "When this page was loaded,\n"; echo 'It was then ', date

随机推荐