前言:

moment.js是一个时间处理库,在前端经常用到比如ui框架里datePicker,rangePicker等组件会用到。

其实 现在基本主流库 都换成 day.js了,因为 它体积更小。支持模块化 ,可拓展性高。

Day.js中文网

一、moment.js

moment.js官方api

二、使用时出现的错误及踩坑

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 字符的数量才有意义。 在标准模式中,SSSSSSSSSS 均等效,并解释为几分之一秒。 例如,.12 始终为 120 毫秒,传入 SS 不会导致其被解释为 12 毫秒。

所以使用这个moment.js版本需要大于等于2.10.5(总之尽量使用最新版本)

moment.js格式化

 //格式 :"YYYY-MM-DD HH:mm:ss.SSS"

 moment(new Date().getTime()).format("YYYY-MM-DD HH:mm:ss.SSS")

6. js 计算两个日期间所有的日期(moment.js实现)

js 计算两个日期间所有的日期(moment.js实现)_崽崽的谷雨的博客-CSDN博客

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐