js中时间格式化的几种方法

时间:2018-07-22
这篇文章给大家分享了关于js中时间格式化的几种方法,有需要的朋友们可以参考学习下。

项目中时间返回值,很过时候为毫秒值,我们需要转换成 能够看懂的时间的格式;

例如:

yyyy-MM-dd HH:mm:ss

2.处理方法(处理方法有多种,可以传值到前端处理,也可以后台可以好之后再传递到页面)

方法一:实体类中添加时间转换注解(注意时区问题)

/**
  * 开始时间
  */
 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
 private Date startTime;

方法二: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里面的时间类处理的办法  
}

3.总结:实现时间转换的方法有多种,怎样方便,达到项目的要求,就可