时间不等人,但 Moment.js 可以等你解决时间问题!
前言
一直以来,处理时间和日期的JavaScript库,选用的都是Moment.js。它的API清晰简单,使用方便灵巧,功能还特别齐全。
我是Moment.js的重度使用者。凡是遇到时间和日期的操作,就把Moment.js引用上。
简介
Moment.js是一款常用于JavaScript日期时间处理的代码库,它能够解析、验证、操作以及格式化日期和时间。

在实际开发中,我们经常需要对日期时间进行转换、计算等操作,这时候就可以用到Moment.js,提高开发效率,减少工作量。
API
Moment.js 提供了丰富的 API 支持,如以下列出的几个方法:
- 解析与验证日期时间
Moment.js 可以解析多种不同格式的日期字符串并将其转换为 Moment 对象。例如,你可以使用 .moment() 初始化Moment对象,解析一个字符串或者日期对象:
var date = moment("2022-10-01"); // 从字符串创建一个 moment 对象
console.log(date.isValid()); // true
- 格式化日期时间
Moment.js 能够将日期时间格式化成各种样式的字符串输出,如下所示:
moment('2023-05-26').format('YYYY-MM-DD'); // "2023-05-26"
moment().format('MMMM Do YYYY, h:mm:ss a'); // "May 26th 2023, 11:31:23 am"
moment().format('dddd'); // "Friday"
moment().format("MMM Do YY"); // "May 26th 23"
- 时间加减
Moment.js 提供了方便的API支持时间段的加减计算,如下所示:
moment().add(7, 'days'); // 7 天之后
moment().subtract(1, 'months'); // 1 个月之前
- 时间差计算
Moment.js以duration对象的形式返回两个时间之间的差异:
var a = moment([2023, 3, 15]);
var b = moment([2023, 5, 21]);
var result = moment.duration(b.diff(a));
console.log(result.asDays()); //67
关于Moment.js的API还远不只是这些。更多的内容,请查看下方地址:
官方地址: Moment.js | Home (momentjs.com)
中文网站:Moment.js 中文网 (momentjs.cn)
小结
Moment.js 是一个大而全的时间日期库,极大方便了我们在 JavaScript 中计算时间和日期。作为一个个诞生于 2011 年的元老级明星项目,有一个坏消息和一个好消息。
坏消息:这个项目已经停止开发,进入维护状态。 好消息:这个项目还没挂,大型的框架,如VUE,
React等框架中的各系列版本都或多或少的使用着这个项目。
用官方的话来说:It is not dead, but it is indeed done.(没挂,但该写的都写完啦!)
总的来说, Moment.js 是一款非常实用的 JavaScript 库,拓展了 JS 对日期处理能力的极限,可以帮助你有效地减少很多重复劳动,提高开发效率。同时它的API也非常清晰简洁易懂,在使用中遇到疑难问题可以很容易找到解决方案。无论是初学者还是资深工程师,都值得一试!
时间不等人,但 Moment.js 可以等你解决时间问题!的更多相关文章
- 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间
原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...
- js cookie设置最大过期时间 Infinity
Note: 对于永久cookie我们用了Fri, 31 Dec 9999 23:59:59 GMT作为过期日.如果你不想使用这个日期,可使用世界末日Tue, 19 Jan 2038 03:14:07 ...
- js中时间戳转换成时间格式
js中时间戳转换成时间格式, // 时间戳转换成时间格式 var formatDate = function(date){ date = new Date(date); var y=date.getF ...
- [转] 使用moment.js轻松管理日期和时间
当前时间:moment().format('YYYY-MM-DD HH:mm:ss'); 2017-03-01 16:30:12 今天是星期几:moment().format('d'); 3 Unix ...
- js实现new Date(),时间对象和时间戳操作
1.js中实现时间date对象 var myDate = new Date();//获取系统当前时间,结果:Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) 2.获 ...
- 帮助更语义化的显示时间的jQuery插件 - tidyTime.js
来源:GBin1.com 网站或者web应用开发过程中,难免会遇到需要展示时间的地方,例如,留言时间或者发布帖子的时候,那么大家是不是相关过使用更加符合语义学的方式来显示时间呢? 08:15 显示成 ...
- easyui时间控件用js实时获取选定的时间的取法
easyui时间控件用js实时获取选定的时间的取法var datetime=$("#id").datetimebox("getValue");不能用 $(& ...
- js获取当地时间并且拼接时间格式的三种方式
js获取当地时间并且拼接时间格式,在stackoverflow上有人在问,查了资料,各种方法将时间格式改成任意自己想要的样式. 1. var date = new Date(+new Date()+8 ...
- js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)
js 获取开始时间和结束时间相隔小时及分钟(时间戳操作) 场景描述:获取开始时间和结束时间相隔小时及分钟 实例: TimeOnConfirm(curDate) { if(this.pickernum ...
- JS如何将UTC格式时间转本地格式
Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, //month & ...
随机推荐
- 通过 poe 免费使用ChatGPT、GPT-4
poe 是由美版知乎 Quora 构建的AI 产品,提供实时在线与多个AI 机器人交流.Quora 于去年 12 月首次推出Poe 作为封闭测试版,并于2月份向所有 iOS 用户开放.支持 web 端 ...
- Java 序列化的缺点
Java 提供的对象输入流(ObjectInputStream)和输出流(ObjectOutputStream),可以直接把 Java 对象作为可存储的字节数据写入文件,也可以传输到网络上.对于程序员 ...
- ChannelInboundHandlerAdapter 与 SimpleChannelInboundHandler 功能详解
SimpleChannelInboundHandler [类的关系]:如下就是两个类的声明,SimpleChannelInboundHandler是继承 ChannelInboundHandlerAd ...
- 剑指 offer 第 1 天
第 1 天 栈与队列(简单) 剑指 Offer 09. 用两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部 ...
- 官方文档 | 【JVM调优体系】「GC底层调优实战」XPocket为终结性能问题而生—开发指南
XPocket 用户文档 XPocket 是PerfMa为终结性能问题而生的开源的插件容器,它是性能领域的乐高,将定位或者解决各种性能问题的常见的Linux命令,JDK工具,知名性能工具等适配成各种X ...
- 算法题学习链路简要分析与面向 ChatGPT 编程
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 声明:此图片由 MidJourney 生成 未经训练,不属于任何真实人物 大家好,我是小彭. 2023 开年 ...
- pandas之sql操作
我们知道,使用 SQL 语句能够完成对 table 的增删改查操作,Pandas 同样也可以实现 SQL 语句的基本功能.本节主要讲解 Pandas 如何执行 SQL 操作.首先加载一个某连锁咖啡厅地 ...
- 第一章 static、单例与继承
目录 面向对象 一.static关键字 1.static修饰成员变量 2.static修饰成员变量内存中执行原理 3.成员方法的执行原理 4.工具类 5.静态关键字注意事项 6.代码块 java静态代 ...
- OpenHarmony SystemUI开发记录
背景介绍 最近学习OpenHarmony应用开发, SDK版本是3.2.9.2 Beta4,IDE版本是3.1.0.200.参考官方文档,做了个Demo应用,调试.运行非常顺利.启动应用后,状态栏和导 ...
- SpringBoot自定义cron表达式注册定时任务
springBoot自定义cron表达式注册定时任务 一.原理 1.使用Spring自带的TaskScheduler注册任务 2.注册后返回:ScheduledFuture,用于取消定时任务 3.注册 ...