js 中時間格式化的幾種方法


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()方法不傳參數時,默認獲取的是當前日期。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM