一、 介绍:

moment.js不依赖任何第三方库,支持字符串、Date、时间戳以及数组等格式,可以像PHP的date()函数一样,格式化日期时间,计算相对时间,获取特定时间后的日期时间等等。下面是一些使用例子。

二、创建时间

  1. moment() // Mon May 07 2018 16:30:44 GMT+0800
  2. moment("1995-12-25") // Mon Dec 25 1995 00:00:00 GMT+0800
  3. moment("12-25-1995", "MM-DD-YYYY") // 1995-12-25
  4. moment({ year :2010, month :3, day :5, hour :15, minute :10, second :3, millisecond :123})
  5. moment(Date.now() - 24 * 60 * 60 * 1000) // 昨天 Sun May 06 2018 16:35:41 GMT+0800
  6. moment(new Date(2011, 9, 16)) // 2011-10-16

三、格式化时间 format方法

  1. moment().format('MMMM Do YYYY, h:mm:ss a'); // March 20th 2017, 11:52:12 am
  2. moment().format('dddd'); // Monday
  3. moment().format("MMM Do YY"); // Mar 20th 17
  4. moment().format('YYYY [escaped] YYYY'); // 2017 escaped 2017
  5. moment().format(); // 2017-03-20T11:52:12+08:0
    moment().format('YYYY年MM月DD日 HH:mm:ss') //2018年05月07日 16:40:54

四、多样化的本地时间支持

  1. moment.locale(); // zh-cn
  2. moment().format('LT'); // 11:55
  3. moment().format('LTS'); // 11:55:16
  4. moment().format('L'); // 2017年3月20日
  5. moment().format('l'); // 2017年3月20日
  6. moment().format('LL'); // 2017年3月20日
  7. moment().format('ll'); // 2017年3月20日
  8. moment().format('LLL'); // 2017年3月20日中午11点55分
  9. moment().format('lll'); // 2017年3月20日 11:55
  10. moment().format('LLLL'); // 2017年3月20日星期一中午11点55分
  11. moment().format('llll'); // 2017年3月20日星期一 11:55

五、操作

  1. moment().add(7, 'days') // 之后的第7天。第2个参数还可以是 'months', 'years' 等。注意是复数。
  2. moment().add(7, 'd'// 与上面一行代码的运行结果一样。
  3. moment().subtract(1, 'months') // 上个月
  4.  
  5. moment().startOf('week') // 这周的第一天
  6. moment().startOf('hour') // 等效与 moment().minutes(0).seconds(0).milliseconds(0)。
  7. // 还支持 'year','month' 等
  8.  
  9. moment().endOf('week')

六、查询验证

  1. // 早于
  2. moment('2010-10-20').isBefore('2010-10-21') // true
  3. moment('2010-10-20').isBefore('2010-12-31', 'year') // false
  4. moment('2010-10-20').isBefore('2011-01-01', 'year') // true
  5.  
  6. // 是否相等
  7. moment('2010-10-20').isSame('2010-10-20') // true
  8. moment('2010-10-20').isSame('2009-12-31', 'year') // false
  9. moment('2010-10-20').isSame('2010-01-01', 'year') // true
  10.  
  11. // 晚于
  12. moment('2010-10-20').isAfter('2010-10-19') // true
  13. moment('2010-10-20').isAfter('2010-01-01', 'year') // false
  14. moment('2010-10-20').isAfter('2009-12-31', 'year') // true
  15.  
  16. // 是否在时间范围内
  17. moment('2010-10-20').isBetween('2010-10-19', '2010-10-25') // true
  18. moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year') // false
  19. moment('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year') // true
  20.  
  21. moment().isLeapYear() // 是否是闰年

七、dome

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  6. <title>Dome</title>
  7. </head>
  8. <body>
  9. <div id="time"></div>
  10. </body>
  11. <script src="./moment.js"></script>
  12. <script>
  13. document.getElementById("time").innerHTML = moment().format('YYYY年MM月DD日 HH:mm:ss');
  14. </script>
  15. </html>

参考资料:

1.moment.js--时间格式化处理利器

2.Moment.js 写法示例

3.moment.js中文网

moment.js学习总结的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. js学习之变量、作用域和内存问题

    js学习之变量.作用域和内存问题 标签(空格分隔): javascript 变量 1.基本类型和引用类型: 基本类型值:Undefined, Null, Boolean, Number, String ...

  3. 【Knockout.js 学习体验之旅】(3)模板绑定

    本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...

  4. 【Knockout.js 学习体验之旅】(2)花式捆绑

    本文是[Knockout.js 学习体验之旅]系列文章的第2篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...

  5. 【Knockout.js 学习体验之旅】(1)ko初体验

    前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...

  6. js学习篇1--数组

    javascript的数组可以包含各种类型的数据. 1. 数组的长度 ,直接用 length 属性; var arr=[1,2,3]; arr.length; js中,直接给数组的length赋值是会 ...

  7. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  8. NODE.JS学习的常见误区及四大名著

    NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...

  9. Node.js学习系列总索引

    Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...

  10. 【入门必备】最佳的 Node.js 学习教程和资料书籍

    Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...

随机推荐

  1. Ubuntu下配置MySql

    安装mysql sudo apt-get install mysql-server 检查安装是否成功 sudo netstat -tap | grep mysql 登录mysql mysql -uro ...

  2. iOS 越狱后 SSH 不能连接

    10.3 越狱之后,装上 OpenSSH, 但是发现连接不上,一直卡着不动,端口是通的,但是就是一直卡着.解决方法是在 Cydia 添加源 http://apt.cydiaba.cn,搜索 Dropb ...

  3. STM32 HAL库学习系列第2篇 GPIO配置

    GPIO 库函数 基本就是使用以下几个函数 GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void H ...

  4. Python学习 :面向对象(一)

    面向对象 一.定义 面向对象:面向对象为类和对象之间的应用 class + 类名: #在类中的函数称作 “方法“ def + 方法名(self,arg): #方法中第一个参数必须是 self prin ...

  5. aircrack-ng 破解无线网络

    1.科普当今时代,wifi 已成为我们不可缺少的一部分,上网.看视频.玩游戏,没有 wifi 你就等着交高额的流量费吧,本来我想单独的写 wpa 破解和 wps 破解,后来觉得分开写过于繁琐,索性合并 ...

  6. 通过SSH服务登陆linux服务器(版本RHEL7)

    通过SSH服务登陆linux服务器(版本RHEL7) SSH服务概述:是一种能够以安全的方式提供远程登陆的协议,也是目前远程管理linux系统的首选方式.在此之前,我们一般使用FTP或者telnet来 ...

  7. 第八周课上额外项目:pwd的实现

    项目要求: 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 并且上交博客链接. 实验步骤 我首先不懂pwd到底是个 ...

  8. 20155315 2017-05-10 《Java程序设计》课堂代码检查

    一.教材代码检查-p98 代码要求 修改教材P98 Score2.java, 让执行结果数组填充是自己的学号 代码链接 运行结果截图 二.在IDEA中以TDD的方式对String类和Arrays类进行 ...

  9. 成都Uber优步司机奖励政策(4月18日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. python 逆波兰式

    逆波兰式,也叫后缀表达式 技巧:为简化代码,引入一个不存在的运算符#,优先级最低.置于堆栈底部 class Stack(object): '''堆栈''' def __init__(self): se ...