Moment.js 处理日期库

2023-09-18 15:10:04


Moment.js是什么

Moment.js 是一个轻量级的日期处理库,它提供了一套简单而强大的 API,使得在 JavaScript 中处理日期和时间变得非常简便。它支持日期解析、格式化、比较、计算、本地化以及其他常见的日期操作需求,可以帮助开发者在前端应用中轻松地解析、验证、操作和显示日期和时间。

Moment.js使用:

安装和引入 Moment.js:

可以通过 npm 或者直接下载 Moment.js 库文件来安装并引入到项目中。下面是使用 npm 来安装 Moment.js 的命令:

npm install moment

在vue项目中使用

在需要使用 Moment.js 的组件中引入 Moment.js:

const moment = require('moment');

也可以在vue中全局注册moment,这里不过多讲述

Moment.js 的基本用法:

Moment.js 提供了丰富的 API,下面是一些常见的使用方法:

  • 解析日期和时间:
const date = moment('2023-09-18').format('YYYY-MM-DD');
//输出2023-09-18
const datetime = moment('2023-09-18 10:30:00', 'YYYY-MM-DD HH:mm:ss');
//输出2023-09-18 10:30:00
  • 格式化日期和时间:
const formattedDate = moment().format('YYYY-MM-DD');
const formattedDateTime = moment().format('YYYY-MM-DD HH:mm:ss');
  • 返回月份第一天和最后一天:
const date = moment().startOf('month').format('YYYY-MM-DD');
//输出2023-09-01
const date = moment().endOf('month').format('YYYY-MM-DD');
//输出2023-09-30
  • 比较日期和时间:
const dateA = moment('2023-09-18');
const dateB = moment('2023-09-19');
const isBefore = dateA.isBefore(dateB);
// isBefore.. true
const isAfter = dateA.isAfter(dateB);
// isAfter.. false
  • 计算日期差值:
const startDate = moment('2023-09-18');
const endDate = moment('2023-09-25');
const duration = moment.duration(endDate.diff(startDate));
// duration返回时间戳 
const daysDiff = duration.asDays();
// daysDiff返回具体的天数  7

Moment.js 的常用方法示例:

  • 添加或减去时间:
const date = moment('2023-09-18');
const modifiedDate = date.add(1, 'day');
// 返回 2023-09-19
  • 设置日期部分:
const date = moment('2023-09-18');
const modifiedDate = date.date(25).format('YYYY-MM-DD');
//返回  2023-09-25
  • 获取日期部分:
const date = moment('2023-09-18');
const dayOfMonth = date.date(); // 返回 18
const month = date.month(); // 返回 8(注意月份从 0 开始)

总结

这些只是 Moment.js 中一小部分常用方法的示例,你可以根据具体需求查阅 Moment.js 的官方文档来深入了解更多功能和用法。希望本文能帮助你更好地理解 Moment.js,并在前端开发中灵活运用。

更多推荐

构建可维护的大规模应用:框架架构的最佳实践

文章目录框架架构的重要性最佳实践1.模块化设计2.遵循SOLID原则3.使用设计模式4.异常处理5.代码注释和文档6.测试SpringBoot和Django:关键框架示例SpringBoot(Java)模块化设计:SOLID原则:设计模式:依赖注入和工厂模式:异常处理:代码注释和文档:测试:Django(Python)

【无公网IP】Windows搭建 WebDAV服务,并内网穿透公网访问

文章目录1.安装IIS必要WebDav组件2.客户端测试3.cpolar内网穿透3.1打开Web-UI管理界面3.2创建隧道3.3查看在线隧道列表3.4浏览器访问测试4.安装Raidrive客户端4.1连接WebDav服务器4.2连接成功4.2连接成功总结自己用WindowsServer搭建了家用NAS主机,WebDA

C- 使用exit()的优点

使用exit函数有很多优点,特别是在大型程序和系统中。我们来逐一分析这些优点:可以从其他函数中调用:在C语言和许多其他编程语言中,exit是一个库函数,通常在stdlib.h(C)或cstdlib(C++)头文件中定义。这个函数的主要功能是终止程序的执行并返回一个状态码到调用进程(通常是操作系统或shell)。由于ex

用Win10自带画图3D抠图

文章目录一、打开“画图3D”二、插入图片三、抠图操作四、保存抠图一、打开“画图3D”在搜索框输入“画图3D”选择彩色水滴图标的软件二、插入图片选择“新建”导航栏“菜单”–>“插入”,选择要扣的图片。(我选择了一张自己随意画的图片)三、抠图操作选择导航栏的“神奇选择”选择“下一步”因为我的图片非常规整,所以自动选中了圆形

SpringAOP

AOP实现原理SpringAOP基于动态代理实现原理:○如果被代理的对象,已经实现某个接口,则SpringAOP会使用JDKProxy(反射),基于接口的方式,创建代理对象(JDK动态代理的核心是InvocationHandler接口和Proxy类);○如果被代理的对象,没有实现某个接口,就无法使用JDKProxy去进

Linux日期和时间管理指南:日期、时间、时区、定时任务和时间同步

文章目录Linux日期和时间管理指南1.简介1.1Linux日期和时间的重要性1.2日期管理的需求2.查看当前日期和时间2.1date命令2.2cal命令2.3查看硬件时钟3.设置系统日期和时间3.1设置日期3.2设置时间3.3设置硬件时钟4.时区管理4.1查看当前时区4.2修改系统时区4.3多时区设置5.定时任务和计

【数据结构】二叉树

🔥博客主页:小王又困了📚系列专栏:数据结构🌟人之为学,不日近则日退❤️感谢大家点赞👍收藏⭐评论✍️目录一、树概念及结构1.1树的概念1.2树的相关概念1.3树的表示二、二叉树概念及结构2.1二叉树的概念2.2特殊的二叉树2.3二叉树的存储结构🗒️前言:在前面我们学习了顺序表、链表等数据结构,这些都是线性表,是

Unity中 UI Shader的基本功能

文章目录前言一、实现思路1、暴露一个2D类型的属性来接受UI的纹理2、设置shader的层级为TransParent半透明渲染层级,一般UI都是在这个渲染层级3、更改混合模式,是UI使用的纹理,该透明的地方透明二、代码实现前言Unity中UIShader的基本功能一、实现思路1、暴露一个2D类型的属性来接受UI的纹理/

mysql内连接与外连接详解

内连接与外连接内连接外连接在数据库中,连接操作是一种把两个或者多个表的记录组合在一起的操作,常用的有内连接(InnerJoin)、外连接(OuterJoin)等。内连接内连接(InnerJoin):内连接是最常用的连接操作,它只返回两个表中满足连接条件的记录。在Java中,可以使用SQL语句中的INNERJOIN关键字

【前段基础入门之】=>初识 HTML

文章目录前言HTML的详情简介HTML发展史HTML入门1.HTML标签元素2.HTML标签属性3.HTML的标准结构总结前言在整个前端开发中,必须掌握的技术栈为:HTML,CSS,JavaScript,它们三者,共同组成了前端开发的基础生态,以至于后续的进阶式开发,都是在这三者的基础上的扩展,同时它们三者在前端开发中

基于微信小程序的美食推荐系统设计与实现(源码+lw+部署文档+讲解等)

前言💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗👇🏻精彩专栏推荐订阅👇🏻2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选

热文推荐