JavaScript中时间格式化的几种实现方案
作者:清欢时间:2026-10-22 16:09:01浏览:191
本文介绍项目中将毫秒值转换为可读时间格式的多种方法。包括后端使用实体类注解处理时区,以及前端JavaScript通过自定义函数或公共类进行格式化的具体实现。涵盖直接转换与封装通用方法,帮助开发者根据项目需求选择最便捷的方案。
时间格式化的背景与需求
在项目开发中,接口返回的时间数据通常以毫秒值形式呈现,我们需要将其转换为人类可读的时间格式。
例如:
yyyy-MM-dd HH:mm:ss
处理方法有多种,既可以将数据传递到前端进行处理,也可以在后台完成格式化后再传递给页面。
后端实体类注解处理
方法一:在实体类中添加时间转换注解(需注意时区问题)
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private Date startTime;
前端JavaScript处理方案
方法二:使用JS进行处理
{
field : 'crtTime',
title : '创建时间',
width : 100,
sortable :true,
align : 'center',
formatter : crtTimeFtt
},
function crtTimeFtt(val, row) {
if (val != null) {
var date = new Date(val);
return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
}
}
方法三:使用JS处理(创建公共类方法)
/**************************************时间格式化处理************************************/
function dateFtt(fmt,date)
{ //author: meizz
var o = {
"M+" : date.getMonth()+1, //月份
"d+" : date.getDate(), //日
"h+" : date.getHours(), //小时
"m+" : date.getMinutes(), //分
"s+" : date.getSeconds(), //秒
"q+" : Math.floor((date.getMonth()+3)/3), //季度
"S" : date.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
相应JS文件里面的引用
//创建时间格式化显示
function crtTimeFtt(value,row,index){
var crtTime = new Date(value);
return top.dateFtt("yyyy-MM-dd hh:mm:ss",crtTime);//直接调用公共JS里面的时间类处理的办法
}

总结:实现时间转换的方法有多种,只要方便且能满足项目要求即可。
作者最新文章
JS转整数出现NaN怎么办?常见异常处理方案
2026-11-05 16:27:31
推荐几款免安装的在线JS压缩工具
2026-11-05 14:54:53
JS怎么使用JSON.stringify实现JSON格式化与缩进
2026-11-04 10:47:30
CodePen、JSFiddle 与 StackBlitz:主流 JS 在线编辑器对比
2026-11-03 21:07:49
JS字符串转数字后怎么正确判断是否为有效数值
2026-11-03 20:04:15
