1. 程式人生 > >時間轉換之大小寫轉換

時間轉換之大小寫轉換

專案要求展示中文大寫時間,如: 2018-08-17 轉換為 二零一八年八月十七日

/**
 * 時間格式轉換
 * @param 時間字串,格式xxxx-xx-xx
 * @returns 中文大寫格式時間(eg: 2011-02-09 => 二〇一一年二月九日)
 */
export function numToCN (s) {
  var sCN = '〇一二三四五六七八九'
  var uCn = '年月日'
  var result = ''
  function getCN (s) {
    var c = s.charAt(0)
    var cCN = sCN.charAt(c)
    return s.length === 1 ? cCN : (c === '1' ? '' : cCN) + '十' + sCN.charAt(s.charAt(1))
  }
  s.split('-').forEach((element, index) => {
    switch (index) {
      case 0:
        result = result + element.replace(/\d/g, function ($0) { return sCN.charAt($0) }) + uCn.charAt(index)
        break
      default:
        result += getCN(String(Number(element))) + uCn.charAt(index)
    }
  })
  return result
}