moment(一个js时间格式化处理库)使用及踩坑
前言:moment.js是一个时间处理库,在前端经常用到比如ui框架里datePicker,rangePicker等组件会用到。一、moment.jsmoment.js官方api二、使用时出现的错误及踩坑1.Invalid date(无效的日期)说明你传入的值不是个有效的日期(找了好久才找到)。moment('1616486656000'); //这样是可以的moment('16164866560
前言:
moment.js是一个时间处理库,在前端经常用到比如ui框架里datePicker,rangePicker等组件会用到。
其实 现在基本主流库 都换成 day.js了,因为 它体积更小。支持模块化 ,可拓展性高。
一、moment.js
二、使用时出现的错误及踩坑
1.Invalid date(无效的日期)
说明你传入的值不是个有效的日期(找了好久才找到)。
moment('1616486656000'); //这样是可以的
moment('1616486656000').format('YYYY-MM-DD');//这样就不行报Invalid date
moment(Number('1616486656000')).format('YYYY-MM-DD');//这样就行 毫秒数类型必须为数组不能时字符串 会把毫秒数转换为2020-03-23格式的时间
三、项目中用到的函数
工作日:
是指周一到周五(不包含周六日)
自然日:
周一到周日
1.获取默认时间(工作日)
2.只能选前后七天的日期(配合rangePicker)
3.计算当前日期后n个工作日(传入当前日期和,几日后的天数)
4.是否为周末(传入一个日期)
5.moment.js 格式化时间带毫秒数(传入一个时间戳也行)
注意:这个是对版本有要求
从 2.10.5 版本开始:长度为 4 到 9 位的带分数的秒钟令牌可以解析任意数量的数字,但只会考虑前 3 个数(毫秒)。 如果需要打印带有多位分数且想要消耗输入的时间,则使用它。
注意,仅在严格模式中解析时,提供的 S
字符的数量才有意义。 在标准模式中,S
、SS
、SSS
、SSSS
均等效,并解释为几分之一秒。 例如,.12
始终为 120 毫秒,传入 SS
不会导致其被解释为 12 毫秒。
所以使用这个moment.js版本需要大于等于2.10.5(总之尽量使用最新版本)
//格式 :"YYYY-MM-DD HH:mm:ss.SSS"
moment(new Date().getTime()).format("YYYY-MM-DD HH:mm:ss.SSS")
6. js 计算两个日期间所有的日期(moment.js实现)
更多推荐
所有评论(0)