Moment.js常见用法总结

文章目录

  • Moment.js常见用法总结
    • Moment.js常见用法总结
    • 获取时间
      • Start of Time
      • End of Time
      • Timestamp
      • Get Time
    • 设置时间
      • Set Time
      • Add Time
      • Subtract Time
    • 格式化时间
      • Format Time
    • 比较时间
      • Difference
    • 转化为JavaScript原生Date对象

Moment.js常见用法总结

Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率。
​日常开发中,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等。接下来,我将按照这些操作对Moment.js中的Doc进行整理分类,方便学习和日后的查阅。

获取时间

Start of Time

moment().startOf(String)

获取今天0时0分0秒

moment().startOf('day')

获取本周第一天(周日)0时0分0秒

moment().startOf('week')

获取本周周一0时0分0秒

moment().startOf('isoWeek')

获取当前月第一天0时0分0秒

moment().startOf('month')

End of Time

moment().endOf(String)

获取今天23时59分59秒

moment().endOf('day')

获取本周最后一天(周六)23时59分59秒
获取本周周日23时59分59秒

moment().endOf('isoWeek')

获取当前月最后一天23时59分59秒

moment().endOf('month')

Days in Month

moment().daysInMonth()

获取当前月的总天数

moment().daysInMonth()

Timestamp

获取时间戳(以秒为单位)

moment().format('X') // 返回值为字符串类型
moment().unix() // 返回值为数值型

获取时间戳(以毫秒为单位)

moment().format('x') // 返回值为字符串类型
moment().valueOf() // 返回值为数值型

Get Time

获取年份

moment().year()
moment().get('year')

获取月份

moment().month() (0~11, 0: January, 11: December)
moment().get('month')

获取一个月中的某一天

moment().date()
moment().get('date')

获取一个星期中的某一天

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')

获取小时

moment().hours()
moment().get('hours')

获取分钟

moment().minutes()
moment().get('minutes')

获取秒数

moment().seconds()
moment().get('seconds')

获取当前的年月日时分秒

moment().toArray() // [years, months, date, hours, minutes, seconds, milliseconds]
moment().toObject() // {years: xxxx, months: x, date: xx ...}

设置时间

Set Time

moment().year(Number), moment().month(Number)...
moment().set(String, Int)
moment().set(Object)

设置年份

moment().year(2019)
moment().set('year', 2019)
moment().set({year: 2019})

设置月份

moment().month(11) (0~11, 0: January, 11: December)
moment().set('month', 11)

设置某个月中的某一天

moment().date(15)
moment().set('date', 15)

设置某个星期中的某一天

moment().weekday(0) // 设置日期为本周第一天(周日)
moment().isoWeekday(1) // 设置日期为本周周一
moment().set('weekday', 0)
moment().set('isoWeekday', 1)

设置小时

moment().hours(12)
moment().set('hours', 12)

设置分钟

moment().minutes(30)
moment().set('minutes', 30)

设置秒数

moment().seconds(30)
moment().set('seconds', 30)

Add Time

moment().add(Number, String)
moment().add(Object)

设置年份

moment().add(1, 'years')
moment().add({years: 1})

设置月份

moment().add(1, 'months')

设置日期

moment().add(1, 'days')

设置星期

moment().add(1, 'weeks')

设置小时

moment().add(1, 'hours')

设置分钟

moment().add(1, 'minutes')

设置秒数

moment().add(1, 'seconds')

Subtract Time

moment().subtract(Number, String)
moment().subtract(Object)

设置年份

moment().subtract(1, 'years')
moment().subtract({years: 1})

设置月份

moment().subtract(1, 'months')

设置日期

moment().subtract(1, 'days')

设置星期

moment().subtract(1, 'weeks')

设置小时

moment().subtract(1, 'hours')

设置分钟

moment().subtract(1, 'minutes')

设置秒数

moment().subtract(1, 'seconds')

格式化时间

Format Time

moment().format()
moment().format(String)

格式化年月日: ‘xxxx年xx月xx日’

moment().format('YYYY年MM月DD日')

格式化年月日: ‘xxxx-xx-xx’

moment().format('YYYY-MM-DD')

格式化时分秒(24小时制): ‘xx时xx分xx秒’

moment().format('HH时mm分ss秒')

格式化时分秒(12小时制):‘xx:xx:xx am/pm’

moment().format('hh:mm:ss a')

格式化时间戳(以秒为单位)

moment().format('X') // 返回值为字符串类型

格式化时间戳(以毫秒为单位)

moment().format('x') // 返回值为字符串类型

比较时间

Difference

moment().diff(Moment|String|Number|Date|Array)

获取两个日期之间的时间差

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原生Date对象

moment().toDate()
new Date(moment())

将Moment时间转换为JavaScript原生Date对象

let m = moment()
let nativeDate1 = m.toDate()
let nativeDate2 = new Date(m)String(nativeDate1) === String(nativeDate2) // true

前端常用时间工具 -- Moment.js常见用法总结相关推荐

  1. 前端常用Utils工具函数库合集

    前端常用Utils工具函数库合集 在开发中,我们经常会将一些常用的代码块.功能块进行封装,为的是更好的复用.那么,被抽离出来独立完成功能,通过API或配置项和其他部分交互,便形成了插件. 函数库 Lo ...

  2. Moment.js常见用法总结

    From: https://www.jianshu.com/p/9c10543420de Moment.js常见用法总结 Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中 ...

  3. Moment.js常见用法总结 1

    Moment.js常见用法总结 Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率. ​ 日常开发中,通常会对时间进行下面这几个操作:比如获取时 ...

  4. html5网页制作代码_好程序员HTML5大前端常用开发工具大集合

    好程序员HTML5大前端分享常用开发工具大集合HTML5作为当前最为流行的编程语言,广为适用.语言的使用人数急剧增长,更多地开发人员使用这种语言来创建各种内容并放到互联网上.随着每一个新版本的发布,H ...

  5. Moment.js 常见用法总结

    Moment.js是一个时间日期库,它方便了日常开发中对时间的操作,提高了开发效率. 结合官网及其他资料,对Moment. js的常见用法做了简单的总结,方便后续的查阅与使用. 一.引入 1.node ...

  6. 前端常用的工具方法,常用js方法

    1.邮箱 export const isEmail = (s) => {return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2, ...

  7. js 前端常用时间操作:时间戳、当前时间

    获取当前时间 let date = new Date(); // Wed Aug 26 2020 11:14:44 GMT+0800 (中国标准时间) let year = date.getFullY ...

  8. js 数组修改watch_前端面试:专注Vue.js常见的问题答疑,掌握了基本上Vue就过关了...

    v-show 与 v-if 区别 第一题应该是最简单的,提这个问题,也是想让候选人不那么紧张,因为但凡用过 Vue.js,多少知道 v-show 和 v-if 的区别,否则就没得聊了.不过这最简单的一 ...

  9. 【Linux常用指令】grep命令常见用法

    grep命令简介 Grep用来搜索文本字符串的命令行命令,有如下的常见使用情景: 在文件中搜索字符串(pattern) 配合管道使用,将其他Linux命令的输出通过管道传输到grep grep的四个字 ...

最新文章

  1. 2字节取值范围_第二篇——整数和浮点数在计算机中的表示(2)
  2. ASP.NET4.0中客户端ID的生成
  3. 查看Linux系统软硬件信息
  4. 数据挖掘SPSS Clementine 12.0.3 多国语言(含中文)破解版
  5. 95-10-020-启动-初始化ZK
  6. python文件操作笔记
  7. maven 将依赖包打入jar中
  8. 数据切片与MapTask并行度
  9. [JSOI2008] 最小生成树计数
  10. 一篇极好的 CSS 教程 (ZZ)
  11. ldpcMATLAB/ldpc的译码,matlab程序/LDPC编码的matlab实现/源码
  12. springboot 整合 shiro (Web Applications)避坑一 ,请看shiro官网
  13. SQL Server 游标
  14. CANTest 测试软件基本操作介绍
  15. zbrush中减面操作
  16. 分级基金下折套利风险介绍
  17. 在opencv使用发现轮廓函数时出现-vector subscript out of range的问题
  18. 我和电赛的成长故事与总结#2019年全国大学生电子设计竞赛#
  19. WIN10开机显示被调用的对象已与其客户端断开连接解决方法之一
  20. 【手绘集】我的手绘集

热门文章

  1. [转]老(道)孔(儒)轮流做庄
  2. 各大厂商对Google收购摩托罗拉的表态
  3. 中文分词的python实现-基于FMM算法
  4. Python C/S 网络编程(三)之 TCP 实现远程骰宝游戏
  5. doraemon的python tcp协议和udp协议
  6. Microsoft AI Talent Program教育行业合作计划
  7. qt 回车事件之Qt::Key_Return与Qt::Key_Enter
  8. 基于springboot代驾网站毕业设计源码281031
  9. 2012年扑克牌训练日记之一
  10. 对于店铺违规降权,究竟该何去何从