js 將時間戳轉yyyy-MM-dd HH-mm-ss工具類

csl125發表於2018-05-28

在web開發中,我們經常需要用js將時間戳轉yyyy-MM-dd HH-mm-ss類似的格式,這樣才適合我們的觀感,那麼我們該如何在js中將時間戳轉換成這種格式呢?其實很簡單,我們開發一個時間戳工具類,如下:

第一種:最簡單的是一個js時間格式的轉換函式方法

[html] view plain copy
  1. function formatDateTime(inputTime) {    
  2.     var date = new Date(inputTime*1000);  //時間戳為10位需*1000,時間戳為13位的話不需乘1000
  3.     var y = date.getFullYear();    
  4.     var m = date.getMonth() + 1;    
  5.     m = m < 10 ? ('0' + m) : m;    
  6.     var d = date.getDate();    
  7.     d = d < 10 ? ('0' + d) : d;    
  8.     var h = date.getHours();  
  9.     h = h < 10 ? ('0' + h) : h;  
  10.     var minute = date.getMinutes();  
  11.     var second = date.getSeconds();  
  12.     minute = minute < 10 ? ('0' + minute) : minute;    
  13.     second = second < 10 ? ('0' + second) : second;   
  14.     return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;    
  15. };  

然後這樣在jsp或html頁面呼叫這個js時間轉換方法就可以了:

[html] view plain copy
  1. formatDateTime(inputTime);  

1. 將時間戳轉換成日期格式:

1
2
3
4
5
6
7
8
9
10
11
12
function timestampToTime(timestamp) {
        var date = new Date(timestamp * 1000);//時間戳為10位需*1000,時間戳為13位的話不需乘1000
        Y = date.getFullYear() + '-';
        M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
        D = date.getDate() + ' ';
        h = date.getHours() + ':';
        m = date.getMinutes() + ':';
        s = date.getSeconds();
        return Y+M+D+h+m+s;
    }
    timestampToTime(1403058804);
    console.log(timestampToTime(1403058804));//2014-06-18 10:33:24

  注意:如果是Unix時間戳記得乘以1000。比如:PHP函式time()獲得的時間戳就要乘以1000。

2. 將日期格式轉換成時間戳:

1
2
3
4
5
6
7
8
var date = new Date('2014-04-23 18:55:49:123');
    // 有三種方式獲取
    var time1 = date.getTime();
    var time2 = date.valueOf();
    var time3 = Date.parse(date);
    console.log(time1);//1398250549123
    console.log(time2);//1398250549123
    console.log(time3);//1398250549000

  以上三種獲取方式的區別:

  第一、第二種:會精確到毫秒

  第三種:只能精確到秒,毫秒用000替代

  以上三個輸出結果可觀察其區別

  注意:獲取到的時間戳除以1000就可獲得Unix時間戳,就可傳值給後臺得到。


相關文章