1、获取当前时间

moment().format("YYYY-MM-DD HH:mm:ss");
moment().format("YYYY-MM-DD");
moment().format("YYYY年MM月DD日HH时mm分ss秒");
moment().format("YYYY年MM月DD日");

2、获取前几天时间-时间加减-add和subtract

moment().subtract(3, "hours").format("YYYY-MM-DD"); //当前时间的前3个小时时间
moment().subtract(10, "days").format("YYYY-MM-DD"); //当前时间的前10天时间
moment().subtract(1, "years").format("YYYY-MM-DD"); //当前时间的前1年时间
moment().subtract(3, "months").format("YYYY-MM-DD"); //当前时间的前3个月时间
moment().add(3, "hours").format("YYYY-MM-DD"); //当前时间的后3个小时时间
moment().add(10, "days").format("YYYY-MM-DD"); //当前时间的后10天时间
moment().add(1, "years").format("YYYY-MM-DD"); //当前时间的后1年时间
moment().add(3, "months").format("YYYY-MM-DD"); //当前时间的后3个月时间

3、时间和字符串互转

moment("20111031", "YYYYMMDD").format('YYYY/MM/DD')
moment("2011-10-31").format('YYYY/MM/DD')//标准格式可以不用传格式
moment("2011-10-31").format('YYYY年MM月DD日')//标准格式可以不用传格式

4、时间的开始和最后-startOf和endOf

moment().startOf('day').format('YYYY-MM-DD HH:mm:ss') // 当天0点的时间格式
moment().endOf('day').format('YYYY-MM-DD HH:mm:ss') // 当天23点59分59秒的时间格式
moment(日期).startOf('month').format("YYYY-MM-DD")//某月第一天
moment(日期).endOf('month').format("YYYY-MM-DD")//某月最后一天
moment(日期).startOf('year').format("YYYY-MM-DD")//某年第一天
moment(日期).endOf('year').format("YYYY-MM-DD")//某年最后一天

5、时间戳--format('x')

时间转时间戳

moment('2020-06-30').startOf('day').format('X').unix()//大写X--返回10位时间戳-单位:秒

moment('2020-06-30').startOf('day').format('x').valueOf()//小写x--返回13位时间戳-单位:毫秒

时间戳转时间:

moment(parseInt(时间戳)).format(‘YYYY-MM-DD hh:mm:ss’);

6、单独获取年、月、日、时、分秒

moment().year()
moment().get(‘year‘)
moment().month()  // (0~11, 0: January, 11: December)
moment().get(‘month‘)
moment().date()
moment().get(‘date‘)
moment().hours()
moment().get(‘hours‘)
moment().minutes()
moment().get(‘minutes‘)
moment().seconds()
moment().get(‘seconds‘)

获取一个星期中某一天

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

7、比较2个时间差--diff

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

8、其他方法使用-isBetween和isBefore

this.moment('2010-10-20').isBetween('2010-10-19', '2010-10-25'); // true
this.moment('2010-10-19').isBetween('2010-10-19', '2010-10-25'); // false
this.moment('2010-10-25').isBetween('2010-10-19', '2010-10-25'); // false
this.moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '()'); //false
this.moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '[)'); //true
this.moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '()'); //false
this.moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '(]'); //true
this.moment('2016-10-30').isBetween('2016-10-30', '2016-10-30', null, '[]'); //true
moment('2022-04-20').isBefore('2022-04-25');  // true  => 第一个日期在第二个日期前
moment('2022-04-28').isBefore('2022-04-25'); // false => 第一个日期不在第二个日期前
moment('2022-04-25').isBefore('2022-04-25'); // false => 两个日期相同
moment('2010-10-20').isBefore('2010-12-31', 'year'); // false
moment('2010-10-20').isBefore('2011-01-01', 'year'); // true

JavaScript前端时间库moment.js的更多相关文章

  1. js非常强大的日历控件fullcalendar.js, 日期时间库: moment.js

    日历控件: https://fullcalendar.io/docs/ https://fullcalendar.io/docs/event_data/events_function/ https:/ ...

  2. javascript模块化编程库require.js的用法

    随着javascript的兴起,越来越多的公司开始将JS模块化,以增加开发的效率和减少重复编写代码的.更是为了能更加容易的维护日后的代码,因为现在的随着人们对交互效果的越来越强烈的需求,我们的JS代码 ...

  3. 简单的JavaScript图像延迟加载库Echo.js

    插件描述:和 Lazy Load 一样,Echo.js 也是一个用于图像延迟加载 JavaScript.不同的是 Lazy Load 是基于 jQuery 的插件,而 Echo.js 不依赖于 jQu ...

  4. 简单的Javascript图片延迟加载库Echo.js

    简介: 和 Lazy Load 一样,Echo.js 也是一个用于图像延迟加载 JavaScript.不同的是 Lazy Load 是基于 jQuery 的插件,而 Echo.js 不依赖于 jQue ...

  5. JavaScript语法高亮库highlight.js使用

    highlight.js是一款基于JavaScript的语法高亮库,目前支持125种编程语言,有63种可供选择的样式,而且能够做到语言自动识别,和目前主流的JS框架都能兼容,可以混合使用. 这款高亮库 ...

  6. web前端常用库

    项目中可能用到的web前端库(持续记录): 1.轻量化货币库:https://github.com/openexchangerates/accounting.js   ,美元形式.欧元形式等 2.时间 ...

  7. 前端必备,十大热门的 JavaScript 框架和库

    JavaScript 框架和库可以说是开源项目中最庞大也是最累的类目了,目前在github 上这一类的项目是最多的,并且几乎每隔一段时间就会出现一个新的项目席卷网络社区,虽然这样推动了创新的发展,但不 ...

  8. ⏰Day.js 2kB超轻量时间库 和Moment.js一样的API

    Moment.js 是一个大而全的 JS 时间库,很大地方便了我们处理日期和时间.但是 Moment.js太重了(200k+ with locals),可能一般项目也只使用到了她几个常用的API.虽然 ...

  9. 我发起并创立了一个 Javascript 前端库 开源项目 jWebForm

    在线演示地址: ( 在线演示 云平台 由 Kooboo 提供  https://www.kooboo.com/ ) 按钮:      http://iwebform.kgeking.kooboo.si ...

  10. Tippy.js – 轻量的 Javascript Tooltip 工具库

    工具提示(Tooltip)在网站中的一个小功能,但却有很重要的作用,常用于显示一些温馨的提示信息.如果网站中的工具提示功能做得非常有创意的话能够加深用户对网站印象.Tippy.js 是一款帮助你快速创 ...

随机推荐

  1. AndroidStudio--app是如何运行的

    #实用快捷键# Ctrl+alt+F 快速自动把类方法内部的变量声明为类属性变量,以方便全局使用! Ctrl+O  快速显示所有类方法以及field属性结构 今天发现了一个非常好的博主----litt ...

  2. 通过位运算修改指定bit位的值

    通过位运算将指定位的值置0或1 问题样例 假如现在有一个8bit二进制数A,其可以为任何值,所以这里不妨先设A=(xxxxxxxx)2,{x|0,1} 现在需要你将A的几个指定位修改为1或0,例如将A ...

  3. 使用OHOS SDK构建vorbis

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/xiph/vorbis ...

  4. C++ Break、Continue 和 数组操作详解

    C++ Break 和 Continue break 语句还可以用来跳出循环. 在以下示例中,当 i 等于 4 时跳出循环: for (int i = 0; i < 10; i++) { if ...

  5. C# 项目打包详解--赞

    项目打包流程如下: 第一步:项目必须先安装 Microsoft Visual Studio Installer Projects  安装步骤:打开VS-->工具-->扩展和更新--> ...

  6. 虚实相生,构建数智生活|HMS Core. Sparkle应用创新分论坛报名启动

    XR技术的发展,为用户带来了全新的体验模式.那么,作为支撑XR发展主要学科之一的图形学,将迎来哪些发展新机遇?移动应用开发者,该如何拥抱3D数字化转型? 7月15日,HDD·HMS Core. Spa ...

  7. centos部署Django三:编写相关配置文件及启动服务

    1. 进入到项目的根目录,编写 uwsgi.xml 配置文件 *:centos用的不是 uwsgi.ini,而是 uwsgi.xml <uwsgi> <socket>127.0 ...

  8. 攻防世界Reverse三星题 zorropub

    题目 分析过程 丢到PE里面,无壳,64bit 丢到IDA里面,查看mian函数 1 int __fastcall main(int a1, char **a2, char **a3) 2 { 3 s ...

  9. 【cef编译包】下载地址

    http://opensource.spotify.com/cefbuilds/index.html

  10. 深入解析Rivest Cipher 4:理论与实践

    第一章:引言 密码学简介: 密码学是研究如何保护通信和信息安全的学科.它涉及加密算法.解密算法.密钥管理等内容,旨在确保信息在传输和存储过程中不被未经授权的人所获取或篡改.密码学可以分为对称加密和非对 ...