Moment.js 解析、校验、操作、显示日期和时间的 JavaScript 工具库。
英文文档地址:Moment.js | Home
中文文档地址:首页 | Moment.js 中文文档
下载安装:vue为例
npm install moment -s
注册引用
全局方法
在main.js中引入注册
//引入
import moment from 'moment';
//注册-vue2.x
Vue.prototype.$moment = moment
//注册-vue3.x
app.config.globalProperties.$$moment = moment
局部引入使用
// 再所需使用的文件里 import
import moment from 'moment';
常用方法:
获取当前时间/基本方法
# 当前时间
moment()
#小时
moment().hour()
#一个月里的第几天
moment().date()#星期几
moment().day()#一年里的第几天
moment().dayOfYear()#一年里的第几周
moment().week()#第几个月
moment().month()# 一年里的第几个季度
moment().quarter()# 年
moment().year()#当前月有多少天
moment().daysInMonth()
获得指定日期的相对时间
startOf()、endOf()方法,,可传入参数 day hour week month 等日期单词,例如
# 获取今天的时分秒
moment().startOf('day')
# 获取本周的第一天(周日)时分秒
moment().startOf('week')
#获取本周周几的时分秒
moment().startOf('星期几')
#获取当月第一天的时分秒
moment().startOf('month')
#获取本周最后一天(周六)23时59分59秒
moment().endOf('week')
格式化 format()
moment().format();
# 2023-11-24T19:14:05+08:00
#指定格式
moment().format('YYYY-MM-DD HH:mm:ss')
获取对象
moment().toObject();
# 返回一个包括:年、月、日、时、分、秒、毫秒的对象
# {
years: 2023
months: 11
date: 24
hours: 18
minutes: 47
seconds: 56
milliseconds: 526
}
获取时间戳
# 精确到毫秒
moment().valueOf() 返回值为数值类型moment().format('x') 小写的x 返回值为字符串类型
# 精确到秒
moment().unix() 返回值为数值类型
moment().format('X') 大写的X 返回值为字符串类型
获取过去将来时间
# add 方法 获得将来多久时间 add 第二个参数是 复数
moment().add(7, 'days'); / moment().add(7, 'd');
moment().add(1, 'week');
# 7天后 1周后
#subtract 获得过去的时间
moment().subtract(6, "month") 获得过去六个月
计算时间差
moment([2008, 2, 27]).diff([2007, 0, 28], 'day'); 以天为单位
moment().diff(moment('2020-10-09'), 'years') 以年为单位的时间差
比较时间大小
moment('2023-10-31').isBefore('2023-12-31', 'day');
# true第二个参数用于确定精度,且不仅仅是要检查的单个值,因此使用 day 将会检查年份、月份、日期
需要注意的是:isBefore与isAfter都是开区间,如果想要使用闭区间,应该使用isSameOrBefore isSameOrAfter
判断某一年份是否为闰年
#默认判断的是今年
moment().isLeapYear()
moment([2023]).isLeapYear() / moment('2023').isLeapYear()
# false
获取月份/星期
#获取月份
moment.months()
# ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
#获取月份简拼
moment.monthsShort()
# ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
#获取周
moment.weekdays()
# ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
#获取周简拼
moment.weekdaysMin()
# ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]