JavaScript把当前时间转换为中文

** 我们在日常生活中应该很常见中文的时间,但是由于系统中提供的只有英文的时间,没有中文,所以这个我们可以借助js来获取当前时间并把它转换为中文。**
↓↓↓↓↓↓直接获取如下
在这里插入图片描述

1.把数字格式化

1.格式化年

格式化分为两部分,一是年份,因为年份是时间对象中唯一一个四位数的数字,所以我们把它单独进行处理。

    var arr = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十']

    function formatYear(n) {
      // 把 n 转成 二零一九 返回
      var a = parseInt(n / 1000)
      var b = parseInt(n % 1000 / 100)
      var c = parseInt(n % 100 / 10)
      var d = n % 10

      // 拆出来的四位数字刚好和数组的索引对应
      // console.log(a, b, c, d)

      return arr[a] + arr[b] + arr[c] + arr[d] + '年'
    }
    console.log(formatYear(2018))

2.格式化剩余数字

剩余的数字都是两位数的,所以我们把它放到一起来处理。

function formatNumber(n) {
      // n 就是这个一位或者两位的数字

      /*
        一位数

        两位数
          十几  11 12 13
          几十  20 30 40
          几十几  22 33 44
      */

      if (n <= 10) {
        // 几
        return arr[n]
      } 
      else if (n < 20) {
        // 十几
        return '十' + arr[n - 10]
      } 
      else if (n >= 20 && n % 10 === 0) {
        // 几十
        return arr[n / 10] + '十'
      } 
      else {
        // 几十几
        var a = parseInt(n / 10)
        var b = n % 10

        return arr[a] + '十' + arr[b]
      }
    }

2.格式化时间

格式话时间的话,就是要把我们之前格式化好的年份和其他数字组合起来,值得注意的是在组装小时的时候要判断当前时间是否为12点,如果是12点的话,直接组装,如果不是,要把它和12取余数之后组装。

function formatTime(time) {
      // 接受一个时间对象
      var str = ''

      // 1. 获取时间对象中的信息
      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 day = time.getDay()

      // 组装年份
      str += formatYear(year)
      // 组装月份
      str += formatNumber(month) + '月'
      // 组装日期
      str += formatNumber(date) + '号 '
      // 组装上下午
      if (hours > 12) {
        str += '下午 '
      } else {
        str += '上午 '
      }
      // 组装小时
      if (hours === 12) {
        str += formatNumber(hours) + '点'
      } else {
        str += formatNumber(hours % 12) + '点'
      }
      // // 组装分钟
      if (minutes < 10) {
        str += '零'+formatNumber(minutes) + '分'
      }else{
        str += formatNumber(minutes) + '分'
      }
      // 组装秒钟
      str += formatNumber(seconds) + '秒 星期'
      // 组装周几
      if (day === 0) {
        str += '日'
      } else {
        str += formatNumber(day)
      }

      // 返回一组中国字
      return str
    }

3.绑定计时器

现在body里面书写一个div标签,然后给获取到的中文时间绑定一个定时器。

    // 获取div标签
    var shijian = document.getElementById("shijian")
    // 让页面显示当前时间
    var time = new Date()
    shijian.innerHTML = formatTime(time)
     setInterval((function (){
       // 计时器每一秒执行一次,达到显示时间的效果。
      var time = new Date()
      shijian.innerHTML = formatTime(time)
    }),1000)

效果↓↓↓↓
在这里插入图片描述

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页