moment.js学习总结
一、 介绍:
moment.js不依赖任何第三方库,支持字符串、Date、时间戳以及数组等格式,可以像PHP的date()函数一样,格式化日期时间,计算相对时间,获取特定时间后的日期时间等等。下面是一些使用例子。
二、创建时间
- moment() // Mon May 07 2018 16:30:44 GMT+0800
- moment("1995-12-25") // Mon Dec 25 1995 00:00:00 GMT+0800
- moment("12-25-1995", "MM-DD-YYYY") // 1995-12-25
- moment({ year :2010, month :3, day :5, hour :15, minute :10, second :3, millisecond :123})
- moment(Date.now() - 24 * 60 * 60 * 1000) // 昨天 Sun May 06 2018 16:35:41 GMT+0800
- moment(new Date(2011, 9, 16)) // 2011-10-16
三、格式化时间 format方法
- moment().format('MMMM Do YYYY, h:mm:ss a'); // March 20th 2017, 11:52:12 am
- moment().format('dddd'); // Monday
- moment().format("MMM Do YY"); // Mar 20th 17
- moment().format('YYYY [escaped] YYYY'); // 2017 escaped 2017
- moment().format(); // 2017-03-20T11:52:12+08:0
moment().format('YYYY年MM月DD日 HH:mm:ss') //2018年05月07日 16:40:54
四、多样化的本地时间支持
- moment.locale(); // zh-cn
- moment().format('LT'); // 11:55
- moment().format('LTS'); // 11:55:16
- moment().format('L'); // 2017年3月20日
- moment().format('l'); // 2017年3月20日
- moment().format('LL'); // 2017年3月20日
- moment().format('ll'); // 2017年3月20日
- moment().format('LLL'); // 2017年3月20日中午11点55分
- moment().format('lll'); // 2017年3月20日 11:55
- moment().format('LLLL'); // 2017年3月20日星期一中午11点55分
- moment().format('llll'); // 2017年3月20日星期一 11:55
五、操作
- moment().add(7, 'days') // 之后的第7天。第2个参数还可以是 'months', 'years' 等。注意是复数。
- moment().add(7, 'd')// 与上面一行代码的运行结果一样。
- moment().subtract(1, 'months') // 上个月
- moment().startOf('week') // 这周的第一天
- moment().startOf('hour') // 等效与 moment().minutes(0).seconds(0).milliseconds(0)。
- // 还支持 'year','month' 等
- moment().endOf('week')
六、查询验证
- // 早于
- moment('2010-10-20').isBefore('2010-10-21') // true
- moment('2010-10-20').isBefore('2010-12-31', 'year') // false
- moment('2010-10-20').isBefore('2011-01-01', 'year') // true
- // 是否相等
- moment('2010-10-20').isSame('2010-10-20') // true
- moment('2010-10-20').isSame('2009-12-31', 'year') // false
- moment('2010-10-20').isSame('2010-01-01', 'year') // true
- // 晚于
- moment('2010-10-20').isAfter('2010-10-19') // true
- moment('2010-10-20').isAfter('2010-01-01', 'year') // false
- moment('2010-10-20').isAfter('2009-12-31', 'year') // true
- // 是否在时间范围内
- moment('2010-10-20').isBetween('2010-10-19', '2010-10-25') // true
- moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year') // false
- moment('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year') // true
- moment().isLeapYear() // 是否是闰年
七、dome
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Dome</title>
- </head>
- <body>
- <div id="time"></div>
- </body>
- <script src="./moment.js"></script>
- <script>
- document.getElementById("time").innerHTML = moment().format('YYYY年MM月DD日 HH:mm:ss');
- </script>
- </html>
参考资料:
1.moment.js--时间格式化处理利器
2.Moment.js 写法示例
3.moment.js中文网
moment.js学习总结的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- js学习之变量、作用域和内存问题
js学习之变量.作用域和内存问题 标签(空格分隔): javascript 变量 1.基本类型和引用类型: 基本类型值:Undefined, Null, Boolean, Number, String ...
- 【Knockout.js 学习体验之旅】(3)模板绑定
本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(2)花式捆绑
本文是[Knockout.js 学习体验之旅]系列文章的第2篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- js学习篇1--数组
javascript的数组可以包含各种类型的数据. 1. 数组的长度 ,直接用 length 属性; var arr=[1,2,3]; arr.length; js中,直接给数组的length赋值是会 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- NODE.JS学习的常见误区及四大名著
NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...
- Node.js学习系列总索引
Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...
随机推荐
- Ubuntu下配置MySql
安装mysql sudo apt-get install mysql-server 检查安装是否成功 sudo netstat -tap | grep mysql 登录mysql mysql -uro ...
- iOS 越狱后 SSH 不能连接
10.3 越狱之后,装上 OpenSSH, 但是发现连接不上,一直卡着不动,端口是通的,但是就是一直卡着.解决方法是在 Cydia 添加源 http://apt.cydiaba.cn,搜索 Dropb ...
- STM32 HAL库学习系列第2篇 GPIO配置
GPIO 库函数 基本就是使用以下几个函数 GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void H ...
- Python学习 :面向对象(一)
面向对象 一.定义 面向对象:面向对象为类和对象之间的应用 class + 类名: #在类中的函数称作 “方法“ def + 方法名(self,arg): #方法中第一个参数必须是 self prin ...
- aircrack-ng 破解无线网络
1.科普当今时代,wifi 已成为我们不可缺少的一部分,上网.看视频.玩游戏,没有 wifi 你就等着交高额的流量费吧,本来我想单独的写 wpa 破解和 wps 破解,后来觉得分开写过于繁琐,索性合并 ...
- 通过SSH服务登陆linux服务器(版本RHEL7)
通过SSH服务登陆linux服务器(版本RHEL7) SSH服务概述:是一种能够以安全的方式提供远程登陆的协议,也是目前远程管理linux系统的首选方式.在此之前,我们一般使用FTP或者telnet来 ...
- 第八周课上额外项目:pwd的实现
项目要求: 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 并且上交博客链接. 实验步骤 我首先不懂pwd到底是个 ...
- 20155315 2017-05-10 《Java程序设计》课堂代码检查
一.教材代码检查-p98 代码要求 修改教材P98 Score2.java, 让执行结果数组填充是自己的学号 代码链接 运行结果截图 二.在IDEA中以TDD的方式对String类和Arrays类进行 ...
- 成都Uber优步司机奖励政策(4月18日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- python 逆波兰式
逆波兰式,也叫后缀表达式 技巧:为简化代码,引入一个不存在的运算符#,优先级最低.置于堆栈底部 class Stack(object): '''堆栈''' def __init__(self): se ...