Moment.js常见用法总结
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秒
moment().endOf('week')
获取本周周日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
实战
获取昨日0时0分0秒到昨日23时59分59秒, 格式:[milliseconds, milliseconds]
获取上周一到上周日时间范围,格式: [seconds, seconds]
获取上个月第一天和最后一天时间范围, 格式:[YYYY-MM-DD, YYYY-MM-DD]
Moment.js常见用法总结的更多相关文章
- mustache.js常见用法
一.mustache基于JS模板引擎,能较为快捷和简单得实现数据得渲染 用法: 1.CDN引入mustache.js,以下是4.0.1版本,有需要可以去github上查询其他版本的代码. (funct ...
- [js高手之路] es6系列教程 - promise常见用法详解(resolve,reject,catch,then,all,race)
关于promise我在之前的文章已经应用过好几次,如[js高手之路]Node.js+jade+express+mongodb+mongoose+promise实现todolist,本文就来讲解下pro ...
- Javascript模块化编程(三):require.js的用法
Javascript模块化编程(三):require.js的用法 原文地址:http://www.ruanyifeng.com/blog/2012/11/require_js.html 作者: 阮一峰 ...
- [转]EasyUI——常见用法总结
原文链接: EasyUI——常见用法总结 1. 使用 data-options 来初始化属性. data-options是jQuery Easyui 最近两个版本才加上的一个特殊属性.通过这个属性,我 ...
- (转)Javascript模块化编程(三):Require.js的用法
转自 ruanyifeng 系列目录: Javascript模块化编程(一):模块的写法 Javascript模块化编程(二):AMD规范 Javascript模块化编程(三):Require.js的 ...
- React之特点及常见用法
1.什么是React? React是一个用于构建用户界面的JavaScript库.主要用于构建UI,很多人认为Reatc是MVC中的V(视图). React起源于Facebook的内部项目,用来架构I ...
- Linux中find常见用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- php中的curl使用入门教程和常见用法实例
摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...
- Guava中Predicate的常见用法
Guava中Predicate的常见用法 1. Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...
随机推荐
- 关于JAVA的垃圾回收机制
使用JAVA编程时,几乎不需要考虑"内存泄漏"的问题,这也是JAVA相较于C++的一个优点. 最近在看<Java编程思想>(第四版,听说第五版有点牛逼....),里面讲 ...
- 基础篇:详解锁原理,volatile+cas、synchronized的底层实现
目录 1 锁的分类 2 synchronized底层原理 3 Object的wait和notify方法原理 4 jvm对synchronized的优化 5 CAS的底层原理 6 CAS同步操作的问题 ...
- 深入了解Vue.js组件笔记
1.组件注册 Vue.component('name',{}) 创建的组件都是全局组件,它们在注册之后可以用在任何新创建的Vue根实例(new Vue)的模板中.第一个参数是组件的名字,第二个参数是一 ...
- 推荐一款轻量小众却高效免费开源windows热键脚本语言Autohotkey
写在前面的话 Autohotkey是一款轻量小众但高效免费开源的windows热键脚本语言,游戏操纵.鼠标操作.键盘快捷重定义,快捷短语等等,只有你想不到,没有它做不到,神器中的神器呀,相见恨晚. 安 ...
- spring-boot-route(七)整合jdbcTemplate操作数据库
在一部分内容中,我们学习了Restful接口的编写,及接口文档的生成.我们需要将接口数据进行持久化存储,这一部分我们主要学习几种持久化框架将数据进行存储.本部分内容中,我们都将使用mysql为例来做为 ...
- 031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级
031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级 本文知识点:Java中运算符的优先级 运算符的优先级问题 前面学习了很多的运算符,如果这些 ...
- matlab中bitshift 将位移动指定位数
来源:https://ww2.mathworks.cn/help/matlab/ref/bitshift.html?searchHighlight=bitshift&s_tid=doc_src ...
- 深入浅出具有划时代意义的G1垃圾回收器
G1诞生的背景 Garbage First(简称G1)收集器是垃圾收集器技术发展历史上的里程碑式的成果,它开创了收集器面向局部收集的设计思路和基于Region的内存布局形式.HotSpot开发团队最初 ...
- android中判断一个链接是否是有效的
private boolean isValid(String urlString) { try { URL url = new URL(urlString); return URLUtil.isVal ...
- AntDesign初体验
AntDesign初体验 作为一个java开发也需要掌握一定的前端开发技能,毕竟靠人不如靠自己.再者,有时候一些小的改动自己就可以搞定了,就不用低三下四去求别人了: 安装Nodejs $ npm in ...