** 我们在日常生活中应该很常见中文的时间,但是由于系统中提供的只有英文的时间,没有中文,所以这个我们可以借助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)
效果↓↓↓↓

本文介绍了如何使用JavaScript将系统提供的英文时间转换为中文。内容包括数字格式化,其中分为格式化年份和格式化剩余两位数数字两个步骤,接着是时间的格式化,注意处理12小时制的问题,最后通过在页面上绑定计时器实时显示中文时间。
3912

被折叠的 条评论
为什么被折叠?



