moment函数转换后的时间不正确,带有 “sa“等奇怪的字母

2023-11-16

目录

一、问题

二、解决方法

 三、总结


一、问题

1.使用moment函数转换当前日期的格式为  '年-月-日',结果转换出来竟然有一些 字母!!!

迷之自信,这不就是这样吗?给了转换格式,给了转换时间,字母就出现这种奇葩的情况

1)代码如下

 let dateFormate= 'yyyy-MM-dd';
 const showDate=this.moment(new Date()).format(dateFormate);
 console.log("showDate",showDate)

2)结果如图1-1所示。竟然输出了 2022-09-Sa 

图 1-1 错误输出

二、解决方法

1.仔细看了moment函数的使用方法format() | Moment.js 文档,才发现我把 转换格式的参数写错了。上面'yyyy-MM-dd'里面的‘dd'应该改成大写的'DD'

这个主要是因为 element-ui的时间组件里面 天 格式化时都用的是 小写 'dd'   ⊙﹏⊙,然后我就这样写了。

moment.js中 'dd'表示取星期,图1-1 中的 'Sa'是 'saturday'星期六的缩写

1)代码如下

            let dateFormate=this.dateFormate : 'yyyy-MM-DD';
            const showDate=this.moment(new Date()).format(dateFormate);
            console.log("showDate",showDate)

2)结果如图2-1所示,正确了

图 2-2 正确转换

2.测试了一下其他 转换参数 大小写写错后,也会有格式各样的奇葩错误,月写错了月大于>12,实际上去了分钟,小时小写时转成了12小时制的小时表示。

1)代码如下

            let dateFormate= 'yyyy-MM-DD';
            const showDate=this.moment(new Date()).format(dateFormate);
            console.log("showDate",showDate)
            let dateFormate1= 'yyyy-mm-DD';//错误
            const showDate1=this.moment(new Date()).format(dateFormate1);
            console.log("showDate1",showDate1)
            let dateFormate2= 'HH';
            const showDate2=this.moment(new Date()).format(dateFormate2);
            console.log("showDate2",showDate2)
            let dateFormate3='hh';//错误
            const showDate3=this.moment(new Date()).format(dateFormate3);
            console.log("showDate3",showDate3)

2)结果如图2-3所示

 三、总结

1.moment.js格式化出现莫名其妙的结果可能是因为 格式化字符串中的 大小写 写错了moment.js格式化正确方式 可以参考官方文档 format() | Moment.js 文档

2.还有不同的库,使用的时间格式可能是不一样的。如:element-ui使用 小写的 dd 来表示 天,而moment.js使用大写的 DD来表示天,小写的 dd表示取日期对应的星期的 缩写。

3.所以,使用格式化函数时如果发现转换后的值 奇奇怪怪的,一定要 去找到库对应的文档,仔细对应检查是否有有大小写或其他格式化字符与文档描述不一致的情况

/*

希望对你有帮助!

如有错误,欢迎指正!非常感谢!

感谢oxl提前采坑 0--0

*/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

moment函数转换后的时间不正确,带有 “sa“等奇怪的字母 的相关文章

  • 等精度测频原理--频率计

    等精度测频原理 频率计 本系统采用等精度测频的原理来测量频率 其原理如图2所示 图2 等精度测频原理图 图2中的门控信号是可预置的宽度为Tpr的一个脉冲 CNT1和CNT2是两个可控计数器 标准频率信号从CNT1的时钟输入端FS输入 其频率
  • 常见的几种矩阵分解方式

    项目github地址 bitcarmanlee easy algorithm interview and practice 欢迎大家star 留言 一起学习进步 1 三角分解 LU分解 矩阵的LU分解是将一个矩阵分解为一个下三角矩阵与上三角
  • H5浏览器播放RTMP直播流

  • Python编程快速上手

    题目1 编写一个名为collatz 的函数 它有一个名为number的参数 如果参数是偶数 那么collatz 就打印出number 2 如果number是奇数 collatz 就打印3 number 1 def collatz numbe
  • 面试题 ⑥

    1 Java常见的线程池有哪些 它们的使用场景 newSingleThreadExecutor 创建一个单线程的线程池 此线程池保证所有的执行顺序按照任务的提交顺序执行 FIFO 适合顺序处理文件日志等 newFixedThreadPool

随机推荐