共计 1584 个字符,预计需要花费 4 分钟才能阅读完成。
日常开发经常会用 Moment.js 来处理时间,想对频繁使用的几个 API 做下整理,以便日后快速查阅。
转化为 JS 原生 Date 对象
moment().toDate()
new Date(moment())
格式化时间
moment().format(‘YYYY-MM-DD’)
moment().format(‘hh:mm:ss a’) // 格式化时分秒 (12 小时制)
moment().format(‘x’) // 格式化时间戳 (以毫秒为单位)
获取时间
moment().valueOf() // 获取时间戳 (以毫秒为单位)
moment().startOf('day') // 获取今天 0 时 0 分 0 秒
moment().startOf('isoWeek') // 获取本周周一 0 时 0 分 0 秒
moment().startOf('month') // 获取本月第一天 0 时 0 分 0 秒
moment().endOf('day') // 获取今天 23 时 59 分 59 秒
moment().endOf('isoWeek') // 获取本周周日 23 时 59 分 59 秒
moment().endOf('month') // 获取本月最后一天 23 时 59 分 59 秒
moment().year() // 获取当前年份
moment().month() // 获取当前月(0~11, 0 =>1 月, 11=>12 月)moment().date() // 获取今天
moment().day() // 获取当前星期 (0~6, 0: 周日, 6: 周六)
moment().daysInMonth() // 获取本月的总天数
moment().month(moment().month() - 1).startOf('month').valueOf() // 上个月 1 号的 00:00:00
moment().month(moment().month() - 1).endOf('month').valueOf() // 上个月最后一天的 23:59:59
moment().month(moment().month() - 1).startOf('month').valueOf() // 上个季度第一个月一号的 00:00:00
moment().month(moment().month() - 1).endOf('month').valueOf() // 上个季度最后一个月最后一天的 23:59:59
设置时间
moment().year(2019) // 设置年
moment().month(9) // 设置月(0~11, 0 =>1 月, 11=>12 月)moment().date(2) // 设置日期
moment().isoWeekday(1) // 设置日期为本周周一
moment().add(1, 'years') // 设置下一年
moment().add(1, 'months') // 设置下一月
moment().add(1, 'days') // 设置下一天
moment().add(1, 'weeks') // 设置下一周
moment().subtract(1, 'years') // 设置上一年
moment().subtract(1, 'months') // 设置上一月
moment().subtract(1, 'days') // 设置上一天
moment().subtract(1, 'weeks') // 设置上一周
比较时间
let start_date = moment().subtract(1, 'weeks')
let end_date = moment()
end_date.diff(start_date) // 返回毫秒数
end_date.diff(start_date, 'months') // 0
end_date.diff(start_date, 'weeks') // 1
end_date.diff(start_date, 'days') // 7
start_date.diff(end_date, 'days') // -7
正文完
发表至: javascript
2019-10-16