JavaScript中时间格式化的几种实现方案

作者:清欢

时间:2026-10-22

浏览:192

本文介绍项目中将毫秒值转换为可读时间格式的多种方法。包括后端使用实体类注解处理时区,以及前端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里面的时间类处理的办法  
}

时间格式化的背景与需求

总结:实现时间转换的方法有多种,只要方便且能满足项目要求即可。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章