將時間戳轉換為時間日期程式碼例項

antzone發表於2017-03-22

將時間戳轉換為時間日期是常見的操作,下面就通過程式碼例項詳細介紹一下如何實現此功能。

[JavaScript] 純文字檢視 複製程式碼
var format=function(time,format){ 
  var t=new Date(time); 
  var tf=function(i){return (i < 10 ? '0' : '') + i}; 
  return format.replace(/yyyy|MM|dd|HH|mm|ss/g,function(a){ 
    switch(a){ 
      case 'yyyy': 
        return tf(t.getFullYear()); 
        break; 
      case 'MM': 
        return tf(t.getMonth() + 1); 
        break; 
      case 'mm': 
        return tf(t.getMinutes()); 
        break; 
      case 'dd': 
        return tf(t.getDate()); 
        break; 
      case 'HH': 
        return tf(t.getHours()); 
        break; 
      case 'ss': 
        return tf(t.getSeconds()); 
        break; 
    } 
  })
}
console.log(format(1496178344662,'yyyy-MM-dd HH:mm:ss'));

以上程式碼實現了轉換效果,下面介紹一下此效果的實現過程。

一.程式碼註釋:

1.var format=function(time,format){},建立一個函式可以實現轉換效果,第二個引數是時間戳,第二個是返回的時間日期格式。

2.var t=new Date(time),利用Date()建構函式建立一個時間日期物件,引數是時間戳。

3.var tf=function(i){return (i < 10 ? '0' : '') + i},此函式的作用是為了給個位時間日期新增“0”,也就是"8"修改成"08"這種形式。

4.return format.replace(/yyyy|MM|dd|HH|mm|ss/g,function(a){}它是替換的核心,能夠將format函式的第二個引數的相關內容進行替換,這裡是使用的replace()函式,第二個引數是全域性匹配的正規表示式,第二個引數是要返回替換內容的函式,函式的引數是|分隔的正則選擇項。

二.相關閱讀:

1.Date()建構函式可以參閱javascript Date()一章節。

2.i < 10 ? '0' : ''可以參閱三元運算子用法詳解一章節。 

3.replace()函式可以參閱正規表示式replace()函式一章節。 

相關文章