在日常工作中,只要用到datepicker组件的地方都少不了moment.js的身影,现总结几个经常用到的方法,方便记忆。
安装
npm install moment --save
yarn add moment
我常用的就是上面两种,还有其他安装方式,可参考官网
在vue项目中引入
import moment from 'moment';
moment()
返回moment对象
moment() // 不传参数,默认返回当前时间的moment对象
moment('2024-01-29') // 返回指定日期的moment对象
moment('01/29/2024','MM-DD-YYYY') // 返回指定日期特定格式的moment对象
format()
日期格式化 返回指定格式的日期字符串
moment().format('YYYY-MM-DD') // 不传参数,默认返回所设置格式的当前时间的字符串
moment('2024/01/29').format('YYYY-MM-DD') // 返回所设置格式的时间的字符串
加法
moment().add(Number, String)
向后加时间,要添加时间,请传递要添加的时间和要添加的数量的键。Number
加几,String
添加的单位,可选值见下表,括号内为简写,注意大小写。
键 | Value |
---|---|
年数 | years (y) |
季度 | quarter (Q) |
月数 | months (M) |
周数 | weeks (w) |
天数 | days (d) |
小时数 | hours (h) |
分钟数 | minutes (m) |
秒数 | seconds (s) |
毫秒数 | milliseconds (ms) |
moment().add(1, 'days') // 添加一天
moment().add(1, 'months'); // 添加一个月会将指定的月数添加到日期
moment().add(1.5, 'months') == moment().add(2, 'months') // 四舍五入到最接近的整数
moment().add(.7, 'years') == moment().add(8, 'months') //.7*12 = 8.4, rounded to 8
注意:月份和年份的特殊考虑,如果原始日期的月份日期大于最后一个月的天数,则该月的日期将更改为最后一个月的最后一天。从 2.12.0 开始,当传递天和月的小数值时,它们将四舍五入到最接近的整数。周、季度和年转换为天或月,然后四舍五入为最接近的整数。
减法
moment().subtract(Number, String);
向前减去时间,参数同add
moment().subtract(7, 'days'); // 向前推7天
取值和赋值
毫秒
获取或设置毫秒数,接受从 0 到 999 的数字。如果超出范围,它将冒泡到秒。
moment().millisecond(Number);
moment().millisecond(); // Number
moment().milliseconds(Number);
moment().milliseconds(); // Number
秒
获取或设置秒数,接受从 0 到 59 的数字。如果超出范围,它将冒泡到分钟。
moment().second(Number);
moment().second(); // Number
moment().seconds(Number);
moment().seconds