前言

一直以来,处理时间和日期的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. P4555 最长双回文串 解题报告

    看到回文串,于是就想到了马拉车. 马拉车可以帮我们求出每个 \(i\) 的最大扩展距离,容易得出,双回文串就是两个回文串拼一起.当然,两个回文串必须要相交,不然形不成一个字符串. 有的小可爱就会想直接 ...

  2. PHP 微信三方平台代公众号发起网页授权 获取用户信息

    1.获取code 2.通过授权回调地址的code获取用户access_token和open_id 3.通过access_token和open_id 获取用户基本信息 class wx_user { p ...

  3. LabVIEW Actor Framwork (2)________ 边学边做server&client

    回顾下初始需求: 现在要做一个类似聊天的demo,一个server端,若干个client端:首先是server启动,通过server可以打开若干个client端,然后每个client可以独立给serv ...

  4. flask+gunicorn+nginx部署pytorch/python应用

    1. 基于flask实现python服务Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 ...

  5. Java并发(一)----进程、线程、并行、并发

    一.进程与线程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存.在指令运行过程中还需要用到磁盘.网络等设备.进程就是用来加载指令.管理内存.管理 ...

  6. 快速搭建一个go语言web后端服务脚手架

    快速搭建一个go语言web后端服务脚手架 源码:https://github.com/weloe/go-web-demo web框架使用gin,数据操作使用gorm,访问控制使用casbin 首先添加 ...

  7. SpringBoot整合EMQ

    1.引入依赖 <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.ecli ...

  8. Android 通过scheme跳转支付宝实现支付

    原文地址: Android 通过scheme跳转支付宝实现支付 - Stars-One的杂货小窝 需求的来源是支付功能,由于支付宝不允许个人开通具有webhook的支付服务,所以是对接了一个支付系统( ...

  9. 从原理聊JVM(三):详解现代垃圾回收器Shenandoah和ZGC

    作者:京东科技 康志兴 Shenandoah Shenandoah一词来自于印第安语,十九世纪四十年代有一首著名的航海歌曲在水手中广为流传,讲述一位年轻富商爱上印第安酋长Shenandoah的女儿的故 ...

  10. 记一次 .NET 某车零件MES系统 登录异常分析

    一:背景 1. 讲故事 这个案例有点特殊,以前dump分析都是和软件工程师打交道,这次和非业内人士交流,隔行如隔山,从指导dump怎么抓到问题解决,需要一个强大的耐心. 前几天有位朋友在微信上找到我, ...