0x00 介绍
Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率。
0x01 格式化
1 2 3 4 5
| const moment = require("moment");
const now = moment(); const normalFmt = now.format("YYYY-MM-DD HH:mm:ss"); console.log("标准格式:" + normalFmt);
|
0x02 解析时间字符串
1 2 3 4 5 6 7 8 9
| const moment = require("moment") const now = moment('2022-05-22') const nowByFmt = moment('2022年5月22日','YYYY年M月DD日') const nowByTime = moment(now.valueOf()) console.log(` 日期格式 ${now.format('YYYY-MM-DD HH:mm:ss')} 带有解析字符串 ${nowByFmt.format('YYYY-MM-DD HH:mm:ss')} 毫秒时间戳 ${nowByTime.format('YYYY-MM-DD HH:mm:ss')} `)
|
0x03 获取时间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| const moment = require("moment")
const now = () => moment('2022-05-22') console.log(` 获取今天开始时间 ${now().startOf('D').format(moment.HTML5_FMT.DATETIME_LOCAL_MS)} 获取今天结束时间 ${now().endOf('D').format(moment.HTML5_FMT.DATETIME_LOCAL_MS)} 获取本周第一天(周日)开始时间 ${now().startOf('week').format(moment.HTML5_FMT.DATETIME_LOCAL_MS)} 获取本周第一天(周一)开始时间 ${now().startOf('isoWeek').format(moment.HTML5_FMT.DATETIME_LOCAL_MS)} 获取本月第一天时间 ${now().startOf("M").format(moment.HTML5_FMT.DATETIME_LOCAL_MS)} 获取本月最后一天时间 ${now().endOf("M").format(moment.HTML5_FMT.DATETIME_LOCAL_MS)} 获取本月天数 ${now().format('YYYY-MM')} => ${now().daysInMonth()} 获取今天周几(周日为第一天)${now().day()} ${now().weekday()} 获取今天周几(周一为第一天)${now().isoWeekday()} 获取秒时间戳 ${now().format('X')} ${now().unix()} 获取毫秒时间戳 ${now().format('x')} ${now().valueOf()} `)
|
0x04 时间计算
1 2 3 4 5 6 7 8 9 10 11 12 13
| const moment = require("moment"); const now = () => moment("2022-05-22") const start = () => moment("2022-05-22") const end = () => moment("2022-06-22") console.log(` 当前 ${now().format('YYYY-MM-DD HH:mm:ss')} 加1天 ${now().add(1,'d').format('YYYY-MM-DD HH:mm:ss')} 加1个月 ${now().add(1,'M').format('YYYY-MM-DD HH:mm:ss')} 减1天 ${now().subtract(1,'d').format('YYYY-MM-DD HH:mm:ss')} 减1个月 ${now().subtract(1,'M').format('YYYY-MM-DD HH:mm:ss')} 计算相差几天 ${end().diff(start(),'d')} 计算相差几分钟数 ${end().diff(start(),'m')} `)
|