学习springboot框架,写个博客系统,在后台管理的日志管理中,遇到了后台查询的日期格式的结果返回到页面变成了日期的时间戳了。然后摸索了三种方法来解决。页面的显示问题如下图.

问题页面回顾:

本案例环境和框架:后端SpringBoot框架+jdk1.8,前端bootstrap3

解决方案:

解决方案分为三种:

第一种:

如果pojo(实体类)对应的字段(日期)类型为Date类型,用Jackson的注解@JsonFormat。

依赖需要的jar包是:jackson-core.jar,jackson-databind.jar,jackson-annotations.jar,如下如所示

我是SpringBoot项目,自带这三个,只要是maven项目,可以使用我提供的下面这三个jar包依赖

1.1:项目引入jackson依赖jar包
      <dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.0</version>
</dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8</version>
</dependency>
1.2:pojo实体类加注解
      //设置自定义日期格式,并设置时区

     @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone = "GMT+8")
private Date createDate;

这个注解同样也可以打在get方法上如下

        // 打在get方法上   效果一样
@JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone = "GMT+8")
public Date getCreateDate() {
return createDate;
}
1.3:第一种效果图

第二种:

如果pojo(实体类)对应的字段(日期)类型为String类型,则在set方法上用字符串截取方式。

这种就不需要引入上面那么多依赖jar包了只需要保留一个了

2.1:依赖包导入
        <dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
2.2:实体类编写
public class Log{

    private String createDate;

    // set and get
public String getCreateDate() {
return createDate;
} public void setCreateDate(String createDate) {
this.createDate= createDate.substring(0,10);
}
2.3:效果展示

第三种:

利用bootstarp(前端实现)

1.1修改前端js

在你需要转换的日期部分按照如下格式写

{
title: '操作时间',
field: 'createDate',
align: 'center',
//获取日期列的值进行转换
formatter: function (value, row, index) {
return changeDateFormat(value)
}
},
1.2:增加js方法

同时我们需要自定义这个changeDateFormat(obj)方法

//转换日期格式(时间戳转换为datetime格式)
function changeDateFormat(obj) {
var dateVal = obj+ "";
if (obj!= null) {
var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(); return date.getFullYear() + "-" + month + "-" + currentDate + " " + hours + ":" + minutes + ":" + seconds;
}
}

效果和上面一样.


感谢您的阅读,如果您觉得阅读本文对您有帮助,请点赞"大拇指"按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接

后台date类型转换为json字符串时,返回前台页面的是long类型的时间戳问题解决的更多相关文章

  1. 工具请求接口参数为string类型的JSON字符串时需要加转义字符模拟测试

    例如postMan传String类型的json字符串请后台接口时,需要\转义

  2. Jackson将对象转换为json字符串时,设置默认的时间格式

    maven需要的依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifac ...

  3. struts2:JSON在struts中的应用(JSP页面中将对象转换为JSON字符串提交、JSP页面中获取后台Response返回的JSON对象)

    JSON主要创建如下两种数据对象: 由JSON格式字符串创建,转换成JavaScript的Object对象: 由JSON格式字符串创建,转换成JavaScript的List或数组链表对象. 更多关于J ...

  4. SpringMVC3中返回json字符串时500 Internal Server Error的处理方案

    搭建 Spring3+MyBatis+Rest+BootStrap+JBPM项目环境后,测试发现了一个操蛋的问题.使用Spring MVC的自动类型转换为JSON时,后台数据List/Map获取完全正 ...

  5. js如何解析后台传过来的json字符串

    1.js如何解析后台传过来的json字符串? 注意:js是无法直接接收和使用json或者Php的数据,用的话会出现undefined,所以要转换一下. 方式一: var str = '{"r ...

  6. DataTable 对象 转换为Json 字符串

    /// <summary> /// DataTable 对象 转换为Json 字符串 /// </summary> /// <param name="dt&qu ...

  7. JackSon将java对象转换为JSON字符串

    JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的writeValueA ...

  8. (后端)JackSon将java对象转换为JSON字符串(转)

    转载小金金金丶园友: JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的 ...

  9. 此类目的是防治序列化Json字符串时的循环引用问题-------最好解决方案

    http://james.newtonking.com/json/help/index.html using Newtonsoft.Json;using System;using System.Col ...

随机推荐

  1. Chrome-逆向分析JS-1分析google网站翻译器原文存放位置

    剧透:就是使用了一下 Chrome DevTools 的 Memory 功能,通过已知的 JS 变量的值查找 JS 内存中变量的引用 # 一:不分析一下现有的网页翻译方法么? 总所周知,(As is ...

  2. QTP read or write XML file

    'strNodePath = "/soapenv:Envelope/soapenv:Body/getProductsResponse/transaction/queryProducts/qu ...

  3. VB - 变量

    Cbool函数将变量转换成布尔值: Cbyte函数将变量转换为0到255之间的整数. Ccur函数.Cdbl函数和Csng函数将变量转换为浮点数值,前者只精确到小数点后四位,后两者要更加精确,数值的范 ...

  4. div中的div上下居中

    方法1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 .parent {           width:800px;           height:500px;       ...

  5. Codeforces 1132D(二分答案+堆)

    题面 传送门 分析 二分答案,考虑如何判定 可以用贪心的方法,每次找最快没电的电脑,在没电前1单位时间给它充电 正确性显然 实现上可以维护一个堆,存储每个电脑电用完的时刻,每次从堆顶取出最小的一个给它 ...

  6. C# String相关

    1.去掉字符串中的所有的空 string s = " select * from \r\n where a =b "; s = Regex.Replace(s, @"\s ...

  7. SQLAlchemy应用到Flask中

    安装模块 pip install Flask-SQLAlchemy 加入Flask-SQLAlchemy第三方组件 from flask import Flask # 导入Flask-SQLAlche ...

  8. java虚拟机规范(se8)——class文件格式(三)

    4.5 字段 字段使用field_info结构来描述. 在同一个class文件中的两个字段不能有相同的名称和描述符. 结构的格式如下: field_info { u2 access_flags; u2 ...

  9. Python 的PIL,可以解决ImportError The _imagingft C module is not installed

    删除PIL相关文件 mv PIL /tmp   pip install Pillow 安装Pillow后, 可能还会发生KeyError的错误, 检查项目源码后发现是 Image 模块的save函数中 ...

  10. 循环结构select 举例