JavaScript 時間日期轉換成中文

admin發表於2019-12-10

國人當前雖然已經使用比較各種西方的時間日期格式。

但是出於某些需要,可能還是會將時間日期轉換為漢語形式。

下面給出相關程式碼,並進行一下簡單分析:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function CNDateString(date){ 
  var cn = ["零","一","二","三","四","五","六","七","八","九"]; 
  var arr = []; 
  var YY = date.getFullYear().toString(); 
  for (var i=0; i<YY.length; i++) {
    if (cn[YY.charAt(i)]){
      arr.push(cn[YY.charAt(i)]);
    }
  }
  arr.push("年"); 
  var MM = date.getMonth()+1; 
  if (MM<10){
    arr.push(cn[MM]); 
  }
  else if (MM<20){
    arr.push("十" + cn[MM% 10]);
  } 
  arr.push("月"); 
  var DD = date.getDate(); 
  if (DD<10){
    arr.push(cn[DD]);
  } 
  else if (DD<20){
    arr.push("十" + cn[DD% 10]);
  }
  else{
    arr.push("二十" + cn[DD% 10]); 
  } 
  arr.push("日"); 
  return arr.join(''); 
}
console.log(CNDateString(new Date()));

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

一.程式碼註釋:

(1).function CNDateString(date){},此函式實現了轉換效果,引數是一個date物件。

(2).var cn = ["零","一","二","三","四","五","六","七","八","九"],陣列中儲存的是物件的數字漢字形式。

(3).var arr = [],此陣列用來儲存最後的日期漢字形式,每一個陣列元素就是一個漢字,組合起來就是漢字形式日期。

(4).var YY = date.getFullYear().toString(),獲取年份的字串。

(5).for (var i=0; i<YY.length; i++) {

  if (cn[YY.charAt(i)]){

    arr.push(cn[YY.charAt(i)]);

  }

}阿拉伯數字作為索引恰好能夠和陣列中的元素漢字對應起來。

然後將其存入arr陣列中。

(6).arr.push("年"),後面追加一個年,其實後面的程式碼原理都是一樣的。

二.相關閱讀:

(1).getFullYear()方法可以參閱JavaScript getFullYear()一章節。

(2).charAt()方法可以參閱JavaScript charAt()一章節。

(3).push()方法可以參閱JavaScript push()一章節。

(4).join()方法可以參閱JavaScript join()一章節。

相關文章