学习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. docker 部署netcore 的关键语句

    网站容器:docker run -it --name myTestWeb -p 8080:80 -v /mnt/hgfs/my_share/core/website/:/website microso ...

  2. java并发编程笔记(十一)——高并发处理思路和手段

    java并发编程笔记(十一)--高并发处理思路和手段 扩容 垂直扩容(纵向扩展):提高系统部件能力 水平扩容(横向扩容):增加更多系统成员来实现 缓存 缓存特征 命中率:命中数/(命中数+没有命中数) ...

  3. offsetleft 和 style.left 的区别

    offsetLeft 获取的是相对于父对象的左边距: left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距: 如果父div的position定义为rel ...

  4. Python Django 编写一个简易的后台管理工具1-安装环境

    安装python环境 MAC 一般都会自带 Python2.x版本 的环境,你也可以在链接 https://www.python.org/downloads/mac-osx/ 上下载最新版安装. 安装 ...

  5. ASP.NET Core 菜鸟之路:从Startup.cs说起 转发https://www.cnblogs.com/chenug/p/6869109.html

    1.前言 本文主要是以Visual Studio 2017 默认的 WebApi 模板作为基架,基于Asp .Net Core 1.0,本文面向的是初学者,如果你有 ASP.NET Core 相关实践 ...

  6. Windows编写driver

    1. 编译 Pspeek.cpp #include <ntddk.h> #define DANIEL_LIST_PROCESS 0x8001 PDRIVER_OBJECT daniel_D ...

  7. git使用记录八:不同提交的指定文件的差异

    不同提交的指定文件的差异 git diff commit-id1 commit-id2 path-to-filename

  8. docker-compos联合两个容器

    使用网络 ' services: web: image: http networks: - myappnet1 worker: image: http networks: - myappnet2 db ...

  9. 新手学习 React 迷惑的点

    网上各种言论说 React 上手比 Vue 难,可能难就难不能深刻理解 JSX,或者对 ES6 的一些特性理解得不够深刻,导致觉得有些点难以理解,然后说 React 比较难上手,还反人类啥的,所以我打 ...

  10. 图片查看器(类似于QQ,另外又加了JARA的下方的图片缩略导航图)

    源码地址:https://gitee.com/yolanda624/coffer/tree/master/src/components/a-photo-view