说明
证件/文书类落款日期中文大写往往会将“零”写作“〇”,而数字依然使用简体“一二三”,而不是“壹贰叁”。
如下:
针对这一点,写了如下转换插件。
代码
function DateToUpperCase(date: Date = new Date()) {const chStr = ['〇', '一', '二', '三', '四', '五', '六', '七', '八', '九', ''];const y = date.getFullYear().toString();const m = (date.getMonth() + 1).toString();const d = date.getDate().toString();const year = y.split('').map(i => chStr[+i]).join('');const month = m[1] ? `十${chStr[+m[1] || 10]}` : chStr[+m[0]];let day: string;if (d[1] && d[0] === '1') day = `十${chStr[+d[1] || 10]}`;else if (d[1]) day = `${chStr[+d[0]]}十${chStr[+d[1] || 10]}`;else day = chStr[+d[0] || 10];const fullDate = `${year}年${month}月${day}日`;return {year,month,day,fullDate,};
}export default DateToUpperCase