js Date转为中文表示 年月日 时分秒数字也使用中文读法例如12写成十二例如2023-06-20 155946转换为二零二三年六月二十日 十五时五十九分四十六秒 代码尽量简洁
以下是将js Date转为中文表示的代码:
function formatDateToChinese(date) {
const year = date.getFullYear().toString().split('');
const month = (date.getMonth() + 1).toString().split('');
const day = date.getDate().toString().split('');
const hour = date.getHours().toString().split('');
const minute = date.getMinutes().toString().split('');
const second = date.getSeconds().toString().split('');
const numberMap = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
const chineseYear = year.map(num => numberMap[num]).join('');
const chineseMonth = (month[1] ? numberMap[month[0]] + '十' + numberMap[month[1]] : numberMap[month[0]]).replace('零十', '十');
const chineseDay = (day[1] ? numberMap[day[0]] + '十' + numberMap[day[1]] : numberMap[day[0]]);
const chineseHour = (hour[1] ? numberMap[hour[0]] + '十' + numberMap[hour[1]] : numberMap[hour[0]]);
const chineseMinute = (minute[1] ? numberMap[minute[0]] + '十' + numberMap[minute[1]] : numberMap[minute[0]]);
const chineseSecond = (second[1] ? numberMap[second[0]] + '十' + numberMap[second[1]] : numberMap[second[0]]);
return `${chineseYear}年${chineseMonth}月${chineseDay}日 ${chineseHour}时${chineseMinute}分${chineseSecond}秒`;
}
const date = new Date('2023-06-20 15:59:46');
const chineseDate = formatDateToChinese(date);
console.log(chineseDate); // 输出:二零二三年六月二十日 十五时五十九分四十六秒
这段代码将js Date对象中的年、月、日、时、分、秒转换为中文表示,使用了一个 numberMap 数组来存储数字到中文的映射关系。然后根据每个数字的位数,使用 map() 方法将每个数字转换为对应的中文表示,最后拼接起来形成最终的中文日期表示
原文地址: https://www.cveoy.top/t/topic/hDpA 著作权归作者所有。请勿转载和采集!