Moment.js常用方法合集
Moment.js常用方法合集
安装:
npm install moment 或者 yarn add moment
引入:
// require 方式
const moment = require('moment');
// import 方式
import moment from 'moment';
使用moment
let date = moment(new Date()).format('YYYY-MM-DD') //格式化对应的类型 2021-01-23
moment使用详解释
-
当前时间
moment().format('YYYY-MM-DD HH:mm:ss'); // 转换成对应的年月日时分秒 2021-01-23 16:38:22
查询当天日期
moment().format('d') //6
转换当前Unix时间戳
moment().format('X') // "1611392145"
相对时间
-
判断一个时间跟当前时间的相对差值
moment('19921214','YYYYMMDD').fromNow(); //'28 years ago'
-
6天前的日期
moment().subtract('days',6).format('YYYY-MM-DD') //'2021-01-17'
-
3天后的日期
moment().add('days,3').format('YYYY-MM-DD') //"2021-01-26" 对三天后就是我的生日 哈哈哈
-
一个小时前的时间
moment().subtract('hours',1).format(HH:mm:ss) // "16:10:12"
-
一个小时后的时间
moment().add('hours',1).format(HH:mm:ss) // "18:10:32" 下班了
时间格式参数
写法示例
-
创建
moment() // 当前时间
moment("1993-12-15") // 1993-12-15
moment("12-25-1995", "MM-DD-YYYY") // 1995-12-25
moment({ year :2010, month :3, day :5, hour :15, minute :10, second :3, millisecond :123})
moment(Date.now() - 24 * 60 * 60 * 1000) // 昨天
moment(new Date(2011, 9, 16)) // 2011-10-16
-
格式化
moment().format('YYYY年MM月DD日 HH:mm:ss') // 2016年11月11日 22:05:19
moment().format('hh:m:ss') // 10:5:19
moment().format('[YYYY]') // "YYYY"。[] 里的会原样输出
-
转换成Date对象
moment().toDate() //Sat Jan 23 2021 17:16:22 GMT+0800 (中国标准时间)
-
获取/设置时间信息
moment().second() //获得 秒
moment().second(Number) //设置 秒。0 到 59
moment().minute() //获得 分
moment().minute(Number) //设置 分。0 到 59
// 类似的用法
moment().hour() // 小时
moment().date() // 一个月里的第几天
moment().day() // 星期几
moment().dayOfYear() // 一年里的第几天
moment().week() // 一年里的第几周
moment().month() // 第几个月
moment().quarter() // 一年里的第几个季度
moment().year() // 年
moment().daysInMonth() // 当前月有多少天
moment("2022-02", "YYYY-MM").daysInMonth() //获取指定月份的天数。28
-
操作
moment().add(7, 'days') // 之后的第7天。第2个参数还可以是 'months', 'years' 等。注意是复数。
moment().add(7, 'd')// 与上面一行代码的运行结果一样。
moment().subtract(1, 'months') // 上个月
moment().startOf('week') // 这周的第一天
moment().startOf('hour') // 等效与 moment().minutes(0).seconds(0).milliseconds(0)。
// 还支持 'year','month' 等
moment().endOf('week')
moment().daysInMonth() //获取当前月的天数
-
查询
// 早于
moment('2010-10-20').isBefore('2010-10-21') // true
moment('2010-10-20').isBefore('2010-12-31', 'year') // false
moment('2010-10-20').isBefore('2011-01-01', 'year') // true
// 是否相等
moment('2010-10-20').isSame('2010-10-20') // true
moment('2010-10-20').isSame('2009-12-31', 'year') // false
moment('2010-10-20').isSame('2010-01-01', 'year') // true
// 晚于
moment('2010-10-20').isAfter('2010-10-19') // true
moment('2010-10-20').isAfter('2010-01-01', 'year') // false
moment('2010-10-20').isAfter('2009-12-31', 'year') // true
// 是否在时间范围内
moment('2010-10-20').isBetween('2010-10-19', '2010-10-25') // true
moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year') // false
moment('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year') // true
moment().isLeapYear() // 是否是闰年
链接:https://www.jianshu.com/p/13097dd5a9e0
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
MomentJS计算两个时间的差值diff方法
moment两个日期/时间的时差:开始时间和结束时间的时间差,以“天”为单位;endTime和startTime都是毫秒数
moment(endTime).diff(moment(startTime), 'months')
moment(endTime).diff(moment(startTime), 'days')
moment(endTime).diff(moment(startTime),'minutes' )
moment(endTime).diff(moment(startTime), 'seconds')