JS数字日期转中文日期

  • 往期相关文章
  • 场景复现
  • 封装函数(数字日期转中文日期)
  • 实际应用

往期相关文章

文章内容 文章链接
JS数组对象——根据日期进行排序,按照时间进行升序或降序排序 https://blog.csdn.net/XSL_HR/article/details/128579840?spm=1001.2014.3001.5501
JS数组对象——英文按照首字母进行排序 https://blog.csdn.net/XSL_HR/article/details/128579936?spm=1001.2014.3001.5501
JS数组对象——中文按照首字母排序(分组) https://blog.csdn.net/XSL_HR/article/details/128580085?spm=1001.2014.3001.5501

场景复现

在团队或者企业的后台管理系统中,会涉及到证书的颁发与生成,各类办公文件也会涉及到日期的处理——中文格式(二〇二二年十二月二十二日)。

效果如下:


下面具体介绍如何将数字格式的日期(2022-12-22)转化为中文格式的日期(二〇二二年十二月二十二日)

封装函数(数字日期转中文日期)

str为日期的字符串形式,可以是2019-04-03,2019年04月03日,必须每位都有,0位写0。要完整的YYYYMMDD。(如果你的日期格式是其他的格式,可以尝试用dayjs进行类型转换【后期文章会详细介绍dayjs使用】

 number2Chinese(str){let chinese=['〇','一','二','三','四','五','六','七','八','九','十'];let numStr=str.replace(/[^0-9]+/g, '');let year=chinese[numStr[0]]+chinese[numStr[1]]+chinese[numStr[2]]+chinese[numStr[3]];let month=numStr[4]==='0'?chinese[numStr[5]]:chinese[10]+chinese[numStr[5]];let day='';if (numStr[6] === '0') {day = chinese[numStr[7]];} else if (numStr[6] === '1') {if (numStr[7] === '0') {day = chinese[10];} else {day = chinese[10] + chinese[numStr[7]];}} else if (numStr[6] === '2' || numStr[6] === '3') {if (numStr[7] === '0') {day = chinese[numStr[6]] + chinese[10];} else {day = chinese[numStr[6]] + chinese[10] + chinese[numStr[7]];}}return year+'年'+month+'月'+day+'日';}

解释一下为什么要对这个函数进行封装:

  • 因为你可能不止一次使用这个函数,如果不采用封装的思想,那么每当你使用的时候,你都要重新写一次这个函数,这样代码量很大,利用率不高。
  • 但是如果你封装了,就可以在很多场景进行复用,减少代码量,提高代码的利用率。

实际应用

调用此函数,传入参数"2022-12-22",在控制台打印结果。

console.log("日期大写转换",number2Chinese("2022-12-22"))


很显然,效果实现了。我们再试试"2022年12月22日",看看效果:

console.log("日期大写转换",number2Chinese("2022年12月22日"))


我们再尝试"20221222",看看效果:

❌但是!!当我们输入"2022222"、"2022-2-22"或者"2022年2月22日"时,结果就不对了。

这是因为输入的格式不满足标准的YYYYMMDD格式。所以在使用此函数时,需要进行时间格式的转换。

下面我们来获取当前时间,并进行中文格式日期转换。

const nowDate = ref<Dayjs>() // 获取当前时间
const chineseDate = () => {console.log(number2Chinese(dayjs(nowDate.value).format("YYYY-MM-DD")))  // dayjs转标准格式 调用日期转中文格式函数 在控制台输出
}
chineseDate()

控制台转格式结果:

数字格式转中文格式已经成功!


下期文章将介绍dayjs的使用,以及使用dayjs进行时间格式的转换~ 感兴趣的小伙伴可以订阅本专栏,方便后续了解学习~ 觉得这篇文章有用的小伙伴们可以点赞➕收藏➕关注哦~

JS日期格式化——数字日期转中文日期(封装函数,dayjs时间格式化YYYY-MM-DD)相关推荐

  1. js获取当前时间格式YYYY/MM/DD

    //获取当前时间,格式YYYY-MM-DD function getNowFormatDate() {var date = new Date();var seperator1 = "/&qu ...

  2. Js日期yyyy-MM-dd与yyyy/MM/dd的区别

    在JavaScript中日期yyyy-MM-dd格式与yyyy/MM/dd为不同的日期表达式 console.log('2020-10-29', new Date('2020-10-29')) con ...

  3. Python写,将输入的yyyy/mm/dd格式的日期显示为yyyy年mm月dd日。

    7.(程序题)编程将输入的yyyy/mm/dd格式的日期显示为yyyy年mm月dd日. str = input("请输入日期:") length=len(str) if str[6 ...

  4. 【怒怼老乔】苹果手机ios系统居然特喵的不支持日期yyyy-MM-dd HH:mm:ss.ms,只支持 yyyy/MM/dd HH:mm:ss

    苹果手机ios系统居然特喵的 不支持日期yyyy-MM-dd HH:mm:ss.ms, 只支持yyyy/MM/dd HH:mm:ss 我只能用 .replace(/\-/g,'\/'); 来替换掉了, ...

  5. 将字符串格式yyyy/MM/dd的字符串转为日期,格式“yyyy-MM-dd“

    将字符串格式yyyy/MM/dd的字符串转为日期,格式"yyyy-MM-dd" public static String strToDateFormat(String date) ...

  6. YYYY/MM/dd 日期format的幺蛾子

    其实YYYY/MM/dd 和yyyy/MM/dd是不同的,而且YYYY/MM/dd 可能会出现年份的大bug,下面直接上代码 @org.junit.Testpublic void dateYYYY() ...

  7. 货币数字转换成中文大写的函数

    这个函数与以前其他网友提供的结构大不相同, 是一个从高位到低位的算法, 更加符合语言习惯. //---------------------------------------------------- ...

  8. BoundField中DataFormatString格式化数字,货币,日期

    数字.货币格式: 在指定的格式符号后可以指定小数所要显示的位数.例如原来的数据为「1.56」,若格式设定为 {0:N1},则输出为「1.5」.其常用的数值格式如下表所示: 格式字符串 输入 结果 &q ...

  9. es6 日期字符串转日期_量化数据预处理-中文日期(含)转英文日期

    1.引入 时间是pandas数据的主要索引.中文网站上下载的数据含有中文日期,其中包含年月日.如下图所示: 沪深300指数的数据含有中文,需要处理成python的 datetime格式才能放入回测框架 ...

最新文章

  1. Android平台的事件处理机制和手指滑动例子
  2. NetDevOps — ncclient
  3. ip通信基础第九周(下)
  4. JavaScript 运行机制详解:Event Loop——续
  5. 七牛上传图片html,使用七牛云上传图片
  6. 高效程序员的45个习惯 pdf_如何培养孩子高效学习?养成高效学习的7 个习惯。建议收藏...
  7. tomcat 启动速度慢背后的真相
  8. 我的window10
  9. PowerBI实用技巧:案例五(巧用Switch函数展现指标RGB颜色)
  10. ZDNS联合发起创建的“粤港大数据图像和通信应用联合实验室”成功获批
  11. 警惕感冒不仅会头痛脑热,还可能引发致盲性眼病
  12. 哈夫曼树的概念与特点
  13. 赛门铁克:中国挤掉美国成僵尸电脑超级大国
  14. 利用SpringBoot和Vue实现前后端分离(附源码)
  15. html 地球页面代码,纯CSS3实现地球自转实现代码(图文教程附送源码)
  16. 坑之四 千年 (上)
  17. 星火国际《隐私政策》
  18. acrord32.exe
  19. 应届毕业生为什么要参加IT培训?
  20. 小程序注释后,函数名提示

热门文章

  1. PHP安全编程之密码嗅探与重播攻击
  2. 微机原理--第三章(6)移位指令
  3. 「车联网」的概念炒了那么久,为什么没有出现让人眼前一亮的产品?
  4. 联想y430p win8.1 解决qq语音 qq视频卡死 yy卡死 等录音软件卡死问题
  5. 【Gunicorn】gunicorn + flask 请求流程 及 高并发处理介绍
  6. 79家信息技术企业,募资1600亿!科创板企业募资、市值、涨幅情况排行榜发布...
  7. 把把c队--4u 第五天打卡
  8. 计算机云教室解说词,老师眼中理想的云教室是怎样的
  9. 软件测试(黑盒/白盒测试/集成测试)
  10. 读《考拉小巫的英语学习日记》-----作为自己IT路上的不断鼓励