MomentJs 常用api总结

从 MomentJs 到 DayJs

MomentJs

http://momentjs.cn/
Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作。如:获取时间,设置时间,格式化时间,比较时间等等

MomentJs 常用 API

获取时间

  1. 获取当前时间
    moment()

  2. 获取今天0时0分0秒
    moment().startOf('day')

  3. 获取本周第一天(周日)0时0分0秒
    moment().startOf('week')

  4. 获取本周周一0时0分0秒
    moment().startOf('isoWeek')

  5. 获取当前月第一天0时0分0秒
    moment().startOf('month')

  6. 获取今天23时59分59秒
    moment().endOf('day')

  7. 获取本周最后一天(周六)23时59分59秒
    moment().endOf('week')

  8. 获取本周周日23时59分59秒
    moment().endOf('isoWeek')

  9. 获取当前月最后一天23时59分59秒
    moment().endOf('month')

  10. 获取当前月的总天数
    moment().daysInMonth()

  11. 获取时间戳(以秒为单位)
    moment().format('X') // 返回值为字符串类型
    moment().unix() // 返回值为数值型

  12. 获取时间戳(以毫秒为单位)
    moment().format('x') // 返回值为字符串类型
    moment().valueOf() // 返回值为数值型

  13. 获取年份
    moment().year()
    moment().get('year')

  14. 获取月份
    moment().month() // (0~11, 0: January, 11: December)
    moment().get('month')

  15. 获取一个月中的某一天
    moment().date()
    moment().get('date')

  16. 获取一个星期中的某一天
    moment().day() // (0~6, 0: Sunday, 6: Saturday)
    moment().weekday() // (0~6, 0: Sunday, 6: Saturday)
    moment().isoWeekday() // (1~7, 1: Monday, 7: Sunday)
    moment().get('day')
    mment().get('weekday')
    moment().get('isoWeekday')

  17. 获取小时
    moment().hours()
    moment().get('hours')

  18. 获取分钟
    moment().minutes()
    moment().get('minutes')

  19. 获取秒数
    moment().seconds()
    moment().get('seconds')

  20. 获取当前的年月日时分秒
    moment().toArray() // [years, months, date, hours, minutes, seconds, milliseconds]
    moment().toObject() // {years: xxxx, months: x, date: xx …}

设置时间

  1. 设置年份
    moment().year(2019)
    moment().set('year', 2019)
    moment().set({year: 2019})

  2. 设置月份
    moment().month(11) // (0~11, 0: January, 11: December)
    moment().set('month', 11)

  3. 设置某个月中的某一天
    moment().date(15)
    moment().set('date', 15)

  4. 设置某个星期中的某一天
    moment().weekday(0) // 设置日期为本周第一天(周日)
    moment().isoWeekday(1) // 设置日期为本周周一
    moment().set('weekday', 0)
    moment().set('isoWeekday', 1)

  5. 设置小时
    moment().hours(12)
    moment().set('hours', 12)

  6. 设置分钟
    moment().minutes(30)
    moment().set('minutes', 30)

  7. 设置秒数
    moment().seconds(30)
    moment().set('seconds', 30)

  8. 下一年份
    moment().add(1, 'years')
    moment().add({years: 1})

  9. 下一月份
    moment().add(1, 'months')

  10. 下一天
    moment().add(1, 'days')

  11. 下一周
    moment().add(1, 'weeks')

  12. 下一小时
    moment().add(1, 'hours')

  13. 下一分钟
    moment().add(1, 'minutes')

  14. 下一秒
    moment().add(1, 'seconds')

  15. 上一年份
    moment().subtract(1, 'years')
    moment().subtract({years: 1})

  16. 上一月份
    moment().subtract(1, 'months')

  17. 上一天
    moment().subtract(1, 'days')

  18. 上一周
    moment().subtract(1, 'weeks')

  19. 上一小时
    moment().subtract(1, 'hours')

  20. 上一分钟
    moment().subtract(1, 'minutes')

  21. 上一秒
    moment().subtract(1, 'seconds')

日期格式化

格式代码说明返回值例子
M数字表示的月份,没有前导零1到12
MM数字表示的月份,有前导零01到12
MMM三个字母缩写表示的月份Jan到Dec
MMMM月份,完整的文本格式January到December
Q季度1到4
D月份中的第几天,没有前导零1到31
DD月份中的第几天,有前导零01到31
d星期中的第几天,数字表示0到6,0表示周日,6表示周六
ddd三个字母表示星期中的第几天Sun到Sat
dddd星期几,完整的星期文本从Sunday到Saturday
w年份中的第几周如42:表示第42周
YYYY四位数字完整表示的年份如:2014 或 2000
YY两位数字表示的年份如:14 或 98
A大写的AM PMAM PM
a小写的am pmam pm
HH小时,24小时制,有前导零00到23
H小时,24小时制,无前导零0到23
hh小时,12小时制,有前导零00到12
h小时,12小时制,无前导零0到12
m没有前导零的分钟数0到59
mm有前导零的分钟数00到59
s没有前导零的秒数1到59
ss有前导零的描述01到59
XUnix时间戳1411572969
  1. 格式化年月日: ‘xxxx年xx月xx日’
    moment().format('YYYY年MM月DD日')

  2. 格式化年月日: ‘xxxx-xx-xx’
    moment().format('YYYY-MM-DD')

  3. 格式化时分秒(24小时制): ‘xx时xx分xx秒’
    moment().format('HH时mm分ss秒')

  4. 格式化时分秒(12小时制):‘xx:xx:xx am/pm’
    moment().format('hh:mm:ss a')

  5. 格式化时间戳(以毫秒为单位)
    moment().format('x') // 返回值为字符串类型

  6. 其他示例
    moment().format('MMMM Do YYYY, h:mm:ss a'); // 五月 24日 2019, 7:47:43 晚上
    moment().format('dddd'); // 星期五
    moment().format("MMM Do YY"); // 5月 24日 19
    moment().format('YYYY [escaped] YYYY'); // 2019 escaped 2019
    moment().format(); // 2019-05-24T19:47:43+08:00

比较时间

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

相对时间

moment().fromNow(); 

日历时间

moment().calendar(); 

国际化

import ‘moment/locale/zh-cn’
moment.locale(‘zh-cn’);

day.js

https://day.js.org/zh-CN/
Moment.js 的 2kB 轻量化方案,拥有同样强大的 API

安装:npm install dayjs

使用:dayjs()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值