
Moment.js常见用法总结
获取昨日0:00:00到昨日23:59:59的时间范围(毫秒):
发布日期:2025-04-14 14:02:18
浏览次数:6
分类:精选文章
本文共 2949 字,大约阅读时间需要 9 分钟。
Moment.js常见用法总结
Moment.js是一个轻量级的JavaScript时间库,旨在简化日期和时间的操作,提升开发效率。以下是Moment.js的一些常见用法,包括时间的获取、设置、格式化、比较以及与JavaScript原生Date对象的转换。
获取时间
获取时间点
moment().format('X') // 返回秒为单位的时间戳字符串moment().format('x') // 返回毫秒为单位的时间戳字符串moment().unix() // 返回秒为单位的时间戳数值moment().valueOf() // 返回毫秒为单位的时间戳数值
获取日期和时间元素
moment().year() // 获取年份moment().month() // 获取月份(0~11,0为January,11为December)moment().date() // 获取日期moment().day() // 获取星期几(0~6,0为Sunday,6为Saturday)moment().weekday() // 获取星期几(0~6,0为Sunday,6为Saturday)moment().isoWeekday() // 获取ISO星期几(1~7,1为Monday,7为Sunday)moment().hours() // 获取小时moment().minutes() // 获取分钟moment():seconds() // 获取秒moment().milliseconds() // 获取毫秒
获取完整时间信息
moment().toArray() // 返回数组:[year, month, date, hours, minutes, seconds, milliseconds]moment().toObject() // 返回对象:{year: x, month: x, date: x, hours: x, minutes: x, seconds: x, milliseconds: x}
设置时间
设置单个时间点
moment().year(2019) // 设置年份moment().month(11) // 设置月份(0~11)moment().date(15) // 设置日期moment().set('year', 2019) // 设置年份moment().set('month', 11) // 设置月份moment().set('date', 15) // 设置日期
设置时间间隔
moment().add(1, 'years') // 添加1年moment().add(1, 'months') // 添加1个月moment().add(1, 'days') // 添加1天moment().add(1, 'weeks') // 添加1周moment().add(1, 'hours') // 添加1小时moment():minutes() // 添加1分钟moment().add(1, 'seconds') // 添加1秒
减少时间间隔
moment().subtract(1, 'years') // 减少1年moment().subtract(1, 'months') // 减少1个月moment().subtract(1, 'days') // 减少1天moment().subtract(1, 'weeks') // 减少1周moment().subtract(1, 'hours') // 减少1小时moment().subtract(1, 'minutes') // 减少1分钟moment().subtract(1, 'seconds') // 减少1秒
格式化时间
常见日期格式
moment().format('YYYY年MM月DD日') // YYYY年MM月DD日格式moment():format('YYYY-MM-DD') // YYYY-MM-DD格式moment():format('HH时mm分ss秒') // 24小时制时间格式moment():format('hh:mm:ss a') // 12小时制时间格式,包含AM/PMmoment().format('X') // 秒为单位的时间戳moment().format('x') // 毫秒为单位的时间戳
比较时间
计算时间差
let start_date = moment().subtract(1, 'weeks');let end_date = moment();end_date.diff(start_date) // 返回时间差(毫秒)end_date.diff(start_date, 'months') // 返回时间差(月份)end_date.diff(start_date, 'weeks') // 返回时间差(周)end_date.diff(start_date, 'days') // 返回时间差(天)start_date.diff(end_date, 'days') // 返回负数时间差
转换为JavaScript原生Date对象
let m = moment();let nativeDate1 = m.toDate();let nativeDate2 = new Date(m);// nativeDate1 和 nativeDate2 可以相互转换
实战示例
let yesterdayStart = moment().subtract(1, 'days').startOf('day');let yesterdayEnd = moment().subtract(1, 'days').endOf('day');let milliseconds = yesterdayEnd.diff(yesterdayStart, 'milliseconds');
- 获取上周一到上周日的时间范围(秒):
- 获取上个月第一天和最后一天的时间范围(YYYY-MM-DD):
let monday = moment().subtract(1, 'weeks').isoWeekday(1);let sunday = moment().subtract(1, 'weeks').isoWeekday(7);let diffSeconds = sunday.diff(monday, 'seconds');
let monthFirst = moment().subtract(1, 'months').startOf('month');let monthLast = moment().subtract(1, 'months').endOf('month');let range = `${monthFirst.format('YYYY-MM-DD')},${monthLast.format('YYYY-MM-DD')}`;
通过这些方法,你可以在项目中灵活地处理日期和时间,提升开发效率。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年05月15日 09时34分16秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
mapping文件目录生成修改
2025-04-11
MapReduce实现二度好友关系
2025-04-11
MapReduce的模式、算法和用例
2025-04-11
MapReduce的编程思想(1)
2025-04-12
MapReduce程序依赖的jar包
2025-04-12
MapReduce:大数据处理的范式
2025-04-12
MapStruct 对象间属性复制
2025-04-12
MapStruct 映射过程中忽略某个字段
2025-04-12
MapStruct 超神进阶用法,让你的代码效率提升十倍!
2025-04-12
map和bean的相互转换
2025-04-12
map和filter使用方法与区别
2025-04-12
Map如何获取所有value的值
2025-04-12
Map排序
2025-04-12
Map的深浅拷贝的探究
2025-04-12
Map的遍历方式
2025-04-12
map遍历测试结果
2025-04-12
Map集合
2025-04-12
Map集合循环遍历的几种方式
2025-04-12
Map(关联式容器)
2025-04-12