后台date类型转换为json字符串时,返回前台页面的是long类型的时间戳问题解决
学习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类型的时间戳问题解决的更多相关文章
- 工具请求接口参数为string类型的JSON字符串时需要加转义字符模拟测试
例如postMan传String类型的json字符串请后台接口时,需要\转义
- Jackson将对象转换为json字符串时,设置默认的时间格式
maven需要的依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifac ...
- struts2:JSON在struts中的应用(JSP页面中将对象转换为JSON字符串提交、JSP页面中获取后台Response返回的JSON对象)
JSON主要创建如下两种数据对象: 由JSON格式字符串创建,转换成JavaScript的Object对象: 由JSON格式字符串创建,转换成JavaScript的List或数组链表对象. 更多关于J ...
- SpringMVC3中返回json字符串时500 Internal Server Error的处理方案
搭建 Spring3+MyBatis+Rest+BootStrap+JBPM项目环境后,测试发现了一个操蛋的问题.使用Spring MVC的自动类型转换为JSON时,后台数据List/Map获取完全正 ...
- js如何解析后台传过来的json字符串
1.js如何解析后台传过来的json字符串? 注意:js是无法直接接收和使用json或者Php的数据,用的话会出现undefined,所以要转换一下. 方式一: var str = '{"r ...
- DataTable 对象 转换为Json 字符串
/// <summary> /// DataTable 对象 转换为Json 字符串 /// </summary> /// <param name="dt&qu ...
- JackSon将java对象转换为JSON字符串
JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的writeValueA ...
- (后端)JackSon将java对象转换为JSON字符串(转)
转载小金金金丶园友: JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的 ...
- 此类目的是防治序列化Json字符串时的循环引用问题-------最好解决方案
http://james.newtonking.com/json/help/index.html using Newtonsoft.Json;using System;using System.Col ...
随机推荐
- qbxt Day3 on 2019-8-18
qbxt Day3 on 2019-8-18 一.基础数论 1.进制转换 进制转换是一个非常简单且基础的问题. 也许我们只需要...Emmm... 列个式子就好了鸭 设\(k\)进制数每一位上是\(a ...
- vmware导出OVF文件失败
从VMware菜单栏选择导出到 .ovf. 显示导出失败 "Failed to open ..... .vmx". 尝试直接打开虚拟机,系统全部正常. 打开虚拟机所在目录,查找后缀 ...
- (63)C# 不安全代码unsafe
unsafe fixed stackalloc void*
- Git 提交的正确姿势
Git 提交的正确姿势:Commit message 编写指南 SCOP范围 middleware core config plugin test type范围 Git 每次提交代码,都要写 Comm ...
- Oracle 11g 概述
始于:1970.6月份的一篇论文,IBM研究员埃德加‘考特<大型共享数据库的关系模型>(也是转折点)1977.6月Larry Ellison Bob Miner Ed Oates创办了“软 ...
- 如何使用iText制作中文PDF
1. 下载itextpdf.jar 基础包:http://jaist.dl.sourceforge.net/project/itext/iText/iText5.5.2/itext-5.5.2.zip ...
- git使用记录六:对commit的message做处理
修改最新commit的message git commit --amend 修改老旧commit的message 查询最新的三个log soaeon@DESKTOP-FUJJTHR MINGW64 / ...
- ATT&CK实战系列 红队实战(一)————环境搭建
首先感谢红日安全团队分享的靶机实战环境.红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习. 靶机下载地址:http://vulnstack.qiyuanxue ...
- go 复合数据类型
数组 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成.因为数组的长度是固定的,因此在Go语言中很少直接使用数组. 数组声明方式: #第一种 ] int balance ...
- ftrace 使用方法
1. 追蹤Kernel function (以schedule()示範) 先至 /sys/kernel/debug/tracing# cat available_tracers 確定有無 函式追蹤器( ...