1.项目中时间返回值,很过时候为毫秒值,我们需要转换成 能够看懂的时间的格式;
例如: yyyy-MM-dd HH:mm:ss
2.处理方法(处理方法有多种,可以传值到前端处理,也可以后台可以好之后再传递到页面)
方法一:实体类中添加时间转换注解(注意时区问题)
/** * 开始时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")private Date startTime;
方法二:js处理
data-options= { field : 'crtTime', title : '创建时间', width : 100, sortable :true, align : 'center', formatter : crtTimeFtt }
//渲染事件 formatter function crtTimeFtt(val, row) { if (val != null) { var date = new Date(val); return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(); } }
方法三:JS处理(创建公共类方法)
1 /**************************************时间格式化处理************************************/ 2 function dateFtt(fmt,date) { 3 var o = { 4 "M+" : date.getMonth()+1, //月份 5 "d+" : date.getDate(), //日 6 "h+" : date.getHours(), //小时 7 "m+" : date.getMinutes(), //分 8 "s+" : date.getSeconds(), //秒 9 "q+" : Math.floor((date.getMonth()+3)/3), //季度 10 "S" : date.getMilliseconds() //毫秒 11 }; 12 if(/(y+)/.test(fmt)) {13 fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length)); 14 }15 for(var k in o) { 16 if(new RegExp("("+ k +")").test(fmt)) 17 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); 18 }19 return fmt; 20 }21 dateFtt("yyyy-MM-dd hh:mm:ss",new Date());
相应JS文件里面的引用
//创建时间格式化显示function crtTimeFtt(value,row,index){ var crtTime = new Date(value); return top.dateFtt("yyyy-MM-dd hh:mm:ss",crtTime);//直接调用公共JS里面的时间类处理的办法 }
方法四:js处理
关于Date对象(原文:https://blog.csdn.net/baidu_37107022/article/details/78450368 )
创建一个日期对象: var objDate=new Date([arguments list]); 参数形式有以下5种: 1)new Date("month dd,yyyy hh:mm:ss"); 2)new Date("month dd,yyyy"); 3)new Date(yyyy,mth,dd,hh,mm,ss); 4)new Date(yyyy,mth,dd); 5)new Date(ms); 注意: 在程序中我使用的第三种初始化方法,总是显示格式化的参数不正确, 仔细看了一下一定要是整型的才可以,我传递的是字符串 需要注意最后一种形式,参数表示的是需要创建的时间和 GMT时间1970年1月1日之间相差的毫秒数。各种函数的含义如下: month:用英文 表示月份名称,从January到December mth:用整数表示月份,从(1月)到11(12月) dd:表示一个 月中的第几天,从1到31 yyyy:四位数表示的年份 hh:小时数,从0(午夜)到23(晚11点) mm: 分钟数,从0到59的整数 ss:秒数,从0到59的整数 ms:毫秒数,为大于等于0的整数 如: new Date("January 12,2006 22:19:35"); new Date("January 12,2006"); new Date(2006,0,12,22,19,35); new Date(2006,0,12);new Date(1137075575000); new Date()方法不传参数时,默认获取的是当前日期。