项目场景:
之前的一个老的微信公众号管理后台,有一个微信公众号用户留言模块。
问题描述
管理后台展示微信用户留言时间时,发现有一部分2023年的数据显示变成了2024年
页面展示数据代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@include file="/context/mytags.jsp" %>
<div class="easyui-layout" fit="true">
<div region="center" style="padding:1px;">
<t:dategrid name="weChatUserAMList" title="公众号用户留言" actionUrl="weChatUserAMController.do?datagrid" idField="id" fit="true" sortName="ct" sortOrder="desc">
<t:dgCol title="编号" field="id" hidden="false"></t:dgCol>
<t:dgCol title="用户名称" field="name"></t:dgCol>
<t:dgCol title="联系方式" field="cel"></t:dgCol>
<t:dgCol title="留言内容" field="am"></t:dgCol>
<t:dgCol title="留言时间" field="ct" formatter="yyyy-MM-dd hh:mm:ss"></t:dgCol>
<t:dgCol title="处理状态" field="status" replace="未处理_0,已处理_1"></t:dgCol>
<t:dgCol title="操作" field="opt" width="100"></t:dgCol>
<t:dgOpenOpt title="查看留言" url="weChatUserAMController.do?lookam&id={id}" width="240px" height="300px"/>
<t:dgConfOpt title="处理" url="weChatUserAMController.do?process&id={id}" message="是否已处理该条内容"/>
</t:dategrid>
</div>
</div>
原因分析:
经过展示数据与数据库数据对比,发现异常数据年份变为2024年,但是debug运行时数据返回正常,所以判断为页面展示问题。去掉 formatter="yyyy-MM-dd hh:mm:ss" 后数据显示正常,但格式会在时间后多出.0的后缀,如:2024-01-09 12:21:32.0
解决方案:
暂时去掉时间格式化的写法,或者将留言时间字段类型从日期类型修改为字符串可解决。具体原因尚未明白。