ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

格式化时间(转成中文汉字)

2021-07-08 20:34:03  阅读:175  来源: 互联网

标签:中文 格式化 time arr 汉字 parseInt year var


/*
      格式化时间
        + 把时间格式化成中文模式
        + 二零二零年八月十号 下午 三点五十二分十五秒

      1. 准备一个数组
        + 把汉字准备好
      2. 获取当前的时间节点
      3. 把时间对象里面的信息整出来
      4. 转汉字
        4-1. 年
          => 格式化年的函数
        4-1. 其他
      5. 组装
    */

    // 1. 准备一个汉字数组
    var arr = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十']

    // 2. 获取时间节点
    var time = new Date()

    // 3. 获取时间对象里面得所有信息
    var year = time.getFullYear()
    var month = time.getMonth() + 1
    var date = time.getDate()
    var hours = time.getHours()
    var minutes = time.getMinutes()
    var seconds = time.getSeconds()
    var week = time.getDay()

    // 4. 准备两个函数
    // 4-1. 格式化年
    function forgetYear(year) {
      // 2020 二零二零
      // 直接把数字拆成 四位
      var a = parseInt(year / 1000)
      var b = parseInt(year % 1000 / 100)
      var c = parseInt(year % 100 / 10)
      var d = year % 10

      // 转换成中文, 就把四个数字当作索引取数组里面拿到东西
      return arr[a] + arr[b] + arr[c] + arr[d] + ' 年'
    }

    // 4-2. 格式化其他数字
    function forgetNum(num) {
      // 阅读方式
      // 个位 一 / 二 / 三 / 十    <= 10
      // 十几 十一 / 十二 / 十三   < 20
      // 几十 二十 / 三十 / 四十   % 10 === 0
      // 几十几  二十一 / 三十五

      // 先拆数字
      var a = parseInt(num / 10)
      var b = num % 10

      // 判断数字是不是小于等于十
      if (num <= 10) {
        return arr[num]
      } else if (num < 20) {
        return '十' + arr[b]
      } else if (num % 10 === 0) {
        return arr[a] + '十'
      } else {
        return arr[a] + '十' + arr[b]
      }
    }


    var str = ''
    // 组装年
    str += forgetYear(year)
    // 组装月
    str += ' ' + forgetNum(month) + ' 月 '
    // 组装日
    str += forgetNum(date) + ' 日 '
    // 组装周几
    if (week === 0) {
      str += ' 周日 '
    } else {
      str += ' 周' + forgetNum(week)
    }
    // 组装小时
    str += ' ' + forgetNum(hours) + ' 点 '
    // 组装分钟
    str += forgetNum(minutes) + ' 分 '
    // 组装秒钟
    str += forgetNum(seconds) + ' 秒 '

    console.log(str)

 

标签:中文,格式化,time,arr,汉字,parseInt,year,var
来源: https://www.cnblogs.com/phantomyy/p/14988034.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有