前言

一直以来,处理时间和日期的JavaScript库,选用的都是Moment.js。它的API清晰简单,使用方便灵巧,功能还特别齐全。

我是Moment.js的重度使用者。凡是遇到时间和日期的操作,就把Moment.js引用上。

简介

Moment.js是一款常用于JavaScript日期时间处理的代码库,它能够解析、验证、操作以及格式化日期和时间。

在实际开发中,我们经常需要对日期时间进行转换、计算等操作,这时候就可以用到Moment.js,提高开发效率,减少工作量。

API

Moment.js 提供了丰富的 API 支持,如以下列出的几个方法:

  1. 解析与验证日期时间

    Moment.js 可以解析多种不同格式的日期字符串并将其转换为 Moment 对象。例如,你可以使用 .moment() 初始化Moment对象,解析一个字符串或者日期对象:
var date = moment("2022-10-01"); // 从字符串创建一个 moment 对象
console.log(date.isValid()); // true
  1. 格式化日期时间

    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"
  1. 时间加减

    Moment.js 提供了方便的API支持时间段的加减计算,如下所示:
moment().add(7, 'days');                  // 7 天之后
moment().subtract(1, 'months'); // 1 个月之前
  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 可以等你解决时间问题!的更多相关文章

  1. 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

    原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...

  2. js cookie设置最大过期时间 Infinity

    Note: 对于永久cookie我们用了Fri, 31 Dec 9999 23:59:59 GMT作为过期日.如果你不想使用这个日期,可使用世界末日Tue, 19 Jan 2038 03:14:07 ...

  3. js中时间戳转换成时间格式

    js中时间戳转换成时间格式, // 时间戳转换成时间格式 var formatDate = function(date){ date = new Date(date); var y=date.getF ...

  4. [转] 使用moment.js轻松管理日期和时间

    当前时间:moment().format('YYYY-MM-DD HH:mm:ss'); 2017-03-01 16:30:12 今天是星期几:moment().format('d'); 3 Unix ...

  5. js实现new Date(),时间对象和时间戳操作

    1.js中实现时间date对象 var myDate = new Date();//获取系统当前时间,结果:Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) 2.获 ...

  6. 帮助更语义化的显示时间的jQuery插件 - tidyTime.js

    来源:GBin1.com 网站或者web应用开发过程中,难免会遇到需要展示时间的地方,例如,留言时间或者发布帖子的时候,那么大家是不是相关过使用更加符合语义学的方式来显示时间呢? 08:15  显示成 ...

  7. easyui时间控件用js实时获取选定的时间的取法

    easyui时间控件用js实时获取选定的时间的取法var   datetime=$("#id").datetimebox("getValue");不能用 $(& ...

  8. js获取当地时间并且拼接时间格式的三种方式

    js获取当地时间并且拼接时间格式,在stackoverflow上有人在问,查了资料,各种方法将时间格式改成任意自己想要的样式. 1. var date = new Date(+new Date()+8 ...

  9. js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)

    js 获取开始时间和结束时间相隔小时及分钟(时间戳操作) 场景描述:获取开始时间和结束时间相隔小时及分钟 实例: TimeOnConfirm(curDate) { if(this.pickernum ...

  10. JS如何将UTC格式时间转本地格式

    Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, //month & ...

随机推荐

  1. 通过 poe 免费使用ChatGPT、GPT-4

    poe 是由美版知乎 Quora 构建的AI 产品,提供实时在线与多个AI 机器人交流.Quora 于去年 12 月首次推出Poe 作为封闭测试版,并于2月份向所有 iOS 用户开放.支持 web 端 ...

  2. Java 序列化的缺点

    Java 提供的对象输入流(ObjectInputStream)和输出流(ObjectOutputStream),可以直接把 Java 对象作为可存储的字节数据写入文件,也可以传输到网络上.对于程序员 ...

  3. ChannelInboundHandlerAdapter 与 SimpleChannelInboundHandler 功能详解

    SimpleChannelInboundHandler [类的关系]:如下就是两个类的声明,SimpleChannelInboundHandler是继承 ChannelInboundHandlerAd ...

  4. 剑指 offer 第 1 天

    第 1 天 栈与队列(简单) 剑指 Offer 09. 用两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部 ...

  5. 官方文档 | 【JVM调优体系】「GC底层调优实战」XPocket为终结性能问题而生—开发指南

    XPocket 用户文档 XPocket 是PerfMa为终结性能问题而生的开源的插件容器,它是性能领域的乐高,将定位或者解决各种性能问题的常见的Linux命令,JDK工具,知名性能工具等适配成各种X ...

  6. 算法题学习链路简要分析与面向 ChatGPT 编程

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 声明:此图片由 MidJourney 生成 未经训练,不属于任何真实人物 大家好,我是小彭. 2023 开年 ...

  7. pandas之sql操作

    我们知道,使用 SQL 语句能够完成对 table 的增删改查操作,Pandas 同样也可以实现 SQL 语句的基本功能.本节主要讲解 Pandas 如何执行 SQL 操作.首先加载一个某连锁咖啡厅地 ...

  8. 第一章 static、单例与继承

    目录 面向对象 一.static关键字 1.static修饰成员变量 2.static修饰成员变量内存中执行原理 3.成员方法的执行原理 4.工具类 5.静态关键字注意事项 6.代码块 java静态代 ...

  9. OpenHarmony SystemUI开发记录

    背景介绍 最近学习OpenHarmony应用开发, SDK版本是3.2.9.2 Beta4,IDE版本是3.1.0.200.参考官方文档,做了个Demo应用,调试.运行非常顺利.启动应用后,状态栏和导 ...

  10. SpringBoot自定义cron表达式注册定时任务

    springBoot自定义cron表达式注册定时任务 一.原理 1.使用Spring自带的TaskScheduler注册任务 2.注册后返回:ScheduledFuture,用于取消定时任务 3.注册 ...