首页 > 其他分享 >时间不等人,但 Moment.js 可以等你解决时间问题!

时间不等人,但 Moment.js 可以等你解决时间问题!

时间:2023-05-25 10:37:35浏览次数:30  
标签:Moment js moment 日期 API 时间

前言

一直以来,处理时间和日期的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,moment,日期,API,时间
From: https://www.cnblogs.com/tanggoahead/p/17430381.html

相关文章

  • 【MySQL用法】mysql日期时间函数总结(附带mysql官网介绍)
    MySQL提供了大量丰富的函数,在MySQL的使用中经常会用到各种函数,本文记录的是常见的MySQL的日期与时间函数,主要用于处理日期和时间值。MySQL获得当前日期+时间函数获得当前日期+时间(date+time)函数:now(),SYSDATE();SELECTnow(),SYSDATE();sysdate()日期时间函数跟now()类似,区......
  • 对于编程,实践和理论哪个更重要【最近有些事,没时间写文,就发篇水文吧,回头补】
    之前,我个人觉得实践重要,但每次被打脸的时候,又让我觉得理论好像比实践更重要,一次次,天平上的实践开始向理论倾斜,于是就有了今天的话题。对于编程,实践和理论那个更重要,我一路走过来,发现这一直是一个大家争论不休的话题。我得出的结论是实践和理论都重要,两者就好像你的左膀右臂,缺一不可......
  • <<为什么精英都是时间控>>
    对现有认知/知识新的看法一直都知道一心不能二用,以前一直以为是因为主任务会被其他任务影响,作者给出的解释,人脑就类比单核cpu,不能做到并行,实际上是并发。但有些情况会有例外,比如次任务是已经完全成为习惯的情况,比如洗澡,行走,刷牙等等新的认知/知识时间管理不是一维,而是时间与......
  • 01-Node.js介绍
    01.Node.js是什么?pNode.js是一个基于V8JavaScript引擎的JavaScript运行时环境。也就是说:Node.js基于V8引擎来执行JavaScript的代码。V8引擎可以嵌入到任何C++应用程序中,无论是Chrome还是Node.js,事实上都是嵌入了V8引擎来执行JavaScript代码的。但需要注意的是:两者都不仅......
  • 02-Node.js的包管理工具
    00.代码共享方案模块化的编程思想,支持将代码划分成一个个小的、独立的结构。我们可以通过模块化的方式来封装自己的代码,将之封装成一个工具;这个工具我们可以让同事通过导入的方式来使用,甚至也可以分享给世界各地的程序员来使用;假如,我们要将某个工具分享给世界上所有的程序员......
  • js replace 和 replaceAll
    js中的replace方法和自定义replaceAll方法<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>String字符串测试</title></head><body><inputtype="submit"va......
  • 请求和响应——原生的JS实现方式
    请求和响应--原生的JS实现方式有时候我们不得不用原生方式去请求,而这又不常用,所以记录一下,方便下次直接使用。XMLHttpRequest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。//1.创建核心对象varxmlhttp;if(window.XMLHttpRe......
  • 【Node】node.js安装与配置(详细步骤)
    node.js安装与配置(详细步骤)一、安装Node.js1.1下载1.2安装1.3环境变量二、验证是否安装成功三、修改模块下载位置3.1查看npm默认存放位置3.2在nodejs安装目录下,创建“node_global”和“node_cache”两个文件夹3.3修改默认文件夹3.4测试默认位置是否更改成功四、设置......
  • springboot long js 长整形
    项目中,数据库用bigint类型存储主键,java实体类中用long类型来存储对应的属性。这个时候前台通过ajax请求获取json数据时,使用了jackson来转换。但是javascript中number类型存储的长度小于long,精度为17位,超过17位的部分就会自动补0,而long类型数据是19或者20位,所以会出现丢失精度的问......
  • jS 输入框限制
    <input  onkeypress ="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"    onpaste ="return !clipboardData.getData('text').match(/\D/)"    ondragenter ="return false"    style=&quo......