Vue中如何处理日期与时间

news2024/10/7 19:24:14

Vue中如何处理日期与时间

日期和时间处理是Web应用中常见的需求,Vue作为一款流行的前端框架,提供了很多方便的工具和库,以满足不同业务场景下的需求。本文将介绍如何在Vue中处理日期和时间,包括使用原生JavaScript、Moment.js和Day.js。

在这里插入图片描述

使用原生JavaScript

JavaScript提供了一些原生的日期和时间处理函数,我们可以在Vue应用中直接使用它们。下面介绍一些常用的函数。

Date对象

Date对象是JavaScript原生的日期和时间处理对象,它提供了很多常用的方法和属性,可以方便地对日期和时间进行操作。下面是一些常用的方法和属性。

获取当前日期和时间

可以使用new Date()方法来获取当前日期和时间。例如:

const now = new Date();
console.log(now); // Fri Jun 11 2023 09:00:00 GMT+0800 (China Standard Time)

获取指定日期和时间

可以使用new Date(year, month, day, hour, minute, second, millisecond)方法来获取指定日期和时间。其中,year表示年份(必填),month表示月份(0-11,必填),day表示日期(1-31,必填),hour表示小时(0-23,可选,默认为0),minute表示分钟(0-59,可选,默认为0),second表示秒数(0-59,可选,默认为0),millisecond表示毫秒数(0-999,可选,默认为0)。例如:

const date = new Date(2023, 5, 11);
console.log(date); // Fri Jun 11 2023 00:00:00 GMT+0800 (China Standard Time)

const time = new Date(2023, 5, 11, 9, 30);
console.log(time); // Fri Jun 11 2023 09:30:00 GMT+0800 (China Standard Time)

获取日期和时间的各个部分

可以使用getFullYear()getMonth()getDate()getDay()getHours()getMinutes()getSeconds()getMilliseconds()方法来获取日期和时间的各个部分。其中,getMonth()返回的是月份(0-11),getDay()返回的是星期几(0-6)。例如:

const now = new Date();
console.log(now.getFullYear()); // 2023
console.log(now.getMonth()); // 5
console.log(now.getDate()); // 11
console.log(now.getDay()); // 5
console.log(now.getHours()); // 9
console.log(now.getMinutes()); // 0
console.log(now.getSeconds()); // 0
console.log(now.getMilliseconds()); // 0

格式化日期和时间

可以使用toLocaleDateString()toLocaleTimeString()toLocaleString()方法来格式化日期和时间。其中,toLocaleDateString()返回的是日期字符串,toLocaleTimeString()返回的是时间字符串,toLocaleString()返回的是日期和时间字符串。例如:

const now = new Date();
console.log(now.toLocaleDateString()); // 2023/6/11
console.log(now.toLocaleTimeString()); // 09:00:00
console.log(now.toLocaleString()); // 2023/6/11 下午9:00:00

时间戳

时间戳是指从1970年1月1日00:00:00 UTC开始计算的毫秒数。可以使用Date.now()方法来获取当前时间戳。例如:

const timestamp = Date.now();
console.log(timestamp); // 1654933200000

正则表达式

可以使用正则表达式来对日期和时间进行格式化。下面是一些常用的正则表达式。

yyyy

表示年份,例如:2023。

const now = new Date();
const year = now.getFullYear();
console.log(year); // 2023

MM

表示月份,例如:06。

const now = new Date();
const month = now.getMonth() + 1;
console.log(month.toString().padStart(2, '0')); // 06

dd

表示日期,例如:11。

const now = new Date();
const date = now.getDate();
console.log(date.toString().padStart(2, '0')); // 11

HH

表示小时,例如:09。

const now = new Date();
const hours = now.getHours();
console.log(hours.toString().padStart(2, '0')); // 09

mm

表示分钟,例如:00。

const now = new Date();
const minutes = now.getMinutes();
console.log(minutes.toString().padStart(2, '0')); // 00

ss

表示秒数,例如:00。

const now = new Date();
const seconds = now.getSeconds();
console.log(seconds.toString().padStart(2, '0')); // 00

可以使用这些正则表达式来格式化日期和时间。例如:

const now = new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const date = now.getDate().toString().padStart(2, '0');
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
const formatted = `${year}-${month}-${date} ${hours}:${minutes}:${seconds}`;
console.log(formatted); // 2023-06-11 09:00:00

使用Moment.js

Moment.js是一款流行的 JavaScript 日期库,提供了丰富的日期和时间处理函数,可以方便地对日期和时间进行操作。下面介绍一些常用的函数。

安装Moment.js

可以使用npm或yarn来安装Moment.js。例如:

npm install moment

使用Moment.js

可以使用moment()方法来创建一个Moment对象。例如:

const now = moment();
console.log(now); // moment("2023-06-11T09:00:00.000")

可以使用format()方法来格式化日期和时间。例如:

const now = moment();
const formatted = now.format('YYYY-MM-DD HH:mm:ss');
console.log(formatted); // 2023-06-11 09:00:00

可以使用add()方法和subtract()方法来增加或减少日期和时间。例如:

const now = moment();
const nextWeek = now.add(1, 'weeks');
const lastWeek = now.subtract(1, 'weeks');
console.log(nextWeek.format('YYYY-MM-DD')); // 2023-06-18
console.log(lastWeek.format('YYYY-MM-DD')); // 2023-06-04

可以使用startOf()方法和endOf()方法来获取日期和时间的开始和结束。例如:

const now = moment();
const startOfToday = now.startOf('day');
const endOfToday = now.endOf('day');
console.log(startOfToday.format('YYYY-MM-DD HH:mm:ss')); // 2023-06-11 00:00:00
console.log(endOfToday.format('YYYY-MM-DD HH:mm:ss')); // 2023-06-11 23:59:59

可以使用diff()方法来计算两个日期之间的差值。例如:

const start = moment('2023-06-01');
const end = moment('2023-06-11');
const diff = end.diff(start, 'days');
console.log(diff); // 10

使用Day.js

Day.js是另一款流行的JavaScript日期库,与Moment.js类似,提供了丰富的日期和时间处理函数,可以方便地对日期和时间进行操作。下面介绍一些常用的函数。

安装Day.js

可以使用npm或yarn来安装Day.js。例如:

npm install dayjs

使用Day.js

可以使用dayjs()方法来创建一个Day.js对象。例如:

const now = dayjs();
console.log(now); // dayjs("2023-06-11T09:00:00.000Z")

可以使用format()方法来格式化日期和时间。例如:

const now = dayjs();
const formatted = now.format('YYYY-MM-DD HH:mm:ss');
console.log(formatted); // 2023-06-11 09:00:00

可以使用add()方法和subtract()方法来增

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/635168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

useMemo和useCallback

上述代码中,useSate 用于定义了三个状态:supNum、oppNum、x。在组件函数中,我们根据这些状态来计算投票的支持率,并将其渲染到视图中。但是,每次状态变化时,投票支持率的计算都会重新执行,即使其…

c++深搜1-迷宫类问题

目录 1.问题引入 2.知识讲解 3.例题解析 【例题1】迷宫的第一条出路。 题目描述 输入格式 输出格式 样例 输入数据#1 输出数据#1 输入数据#2 输出数据#2 【例题2】迷宫的所有路径。 【例题3】走出迷宫的最少步数。 1.问题引入 拓拓小时候玩迷宫游戏时&#xff…

小酷智慧地图3D导公众号小程序 v1.0.50+前端

🎈 限时活动领体验会员:可下载程序网创项目短视频素材 🎈 🎉 有需要的朋友记得关赞评,阅读文章底部来交流!!! 🎉 ✨ 源码介绍 小酷智慧地图3D导览系统适用于城市或乡镇全…

性能测试之全链路压测实战理论详解

目录 前言 01为什么需要全链路压测? 02全链路压测解决了哪些问题? 03哪些业务场景适合做 04基础技术组件 05小结 前言 要说当下研发领域最热门的几个词,全链路压测 肯定跑不了。最近的几次大会上,也有不少关于全链路的议题。…

Vue项目中使用MapboxGL开发3D地图教程(一)MapboxGL介绍以及前期vue项目的搭建

MapboxGL介绍以及前期vue项目的搭建 1、Mapbox-gl简介2、搭建vue项目2.1、创建vue项目2.2、注册mapbox官网2.3、mapbox-gl入门案例 3、Mapbox-gl地图主要配置参数说明 1、Mapbox-gl简介 Mapbox-gl是一个开源、基于webgl技术的前端地图类库。 地图数据渲染和可视化这块我们经常用…

第七章 详细设计

结构化程序设计的基本结构包括 顺序结构、选择结构、循环结构 三种。 详细设计层 详细设计概览 详细设计的任务:定义每一模块 三种控制结构:顺序、选择、循环 伪码 伪码是一种混合语言。外 部采用形式语言定义控制 结构和数据结构,内部使…

OpenGL光照之投光物

文章目录 平行光点光源衰减实现衰减 聚光手电筒平滑/软化边缘完整代码 我们目前使用的光照都来自于空间中的一个点。它能给我们不错的效果,但现实世界中,我们有很多种类的光照,每种的表现都不同。将光投射(Cast)到物体的光源叫做投光物(Light…

算法提高-图论- 最小生成树的扩展应用

最小生成树的扩展应用 最小生成树的扩展应用AcWing 1146. 新的开始AcWing 1145. 北极通讯网络AcWing 346. 走廊泼水节AcWing 1148. 秘密的牛奶运输 最小生成树的扩展应用 AcWing 1146. 新的开始 利用虚拟源点建图和原题的题意是等价的,因此我们使用虚拟源点建图套…

主从架构lua脚本-Redis(四)

上篇文章介绍了rdb、aof持久化。 持久化RDB/AOF-Redis(三)https://blog.csdn.net/ke1ying/article/details/131148269 redis数据备份策略 写job每小时copy一份到其他目录。目录里可以保留最近一个月数据。把目录日志保存到其他服务器,防止机…

服务器网站搭建(一)

文章目录 环境搭建域名购买和解析创建网站环境搭建 一台服务器,我买的腾讯云新加坡的。根据需求选择配置。 重置密码: 自己设置的密码要记住: 登录: 安装宝塔(centos系统),参考官网: https://www.bt

Python 接口测试框架

目录结构定义 首先来看一下项目整体的结构 框架结构 代码结构 Excel 文件结构 代码详细解析 1.工具包 tools 封装操作 excel 方法 excel_operation.py import xlrd from config.config import PROJECT_PATHclass OperationExcel:def __init__(self, file_nameNone, sheet_…

县村快递物流小程序 v1.2.63+前端(本站修复版)

🎈 限时活动领体验会员:可下载程序网创项目短视频素材 🎈 🎉 有需要的朋友记得关赞评,文章底部来交流!!! 🎉 ✨ 源码介绍 核心功能: 1、县分拣中心入库出库 2…

什么是Vue的脚手架(Vue CLI)?

什么是Vue的脚手架(Vue CLI)? Vue.js 是一款流行的 JavaScript 框架,用来构建现代的单页面应用程序(SPA)。Vue.js 的核心库提供了丰富的功能和 API,但是创建一个完整的应用程序需要更多的工具和…

浏览器插件 | Font Picker - 网页字体识别工具

目录 软件简介 Font Picker插件背景 Font Picker插件离线安装教程 Font Picker 小结 软件简介 Font Picker 插件是一款用于 Chrome 浏览器的字体选择器,这种网页字体识别工具看起来非常的干净,使用起来也十分的简单。本文提供Font Picker网页字体…

d3dcompiler_43.dll文件丢失怎么修复,最新修复方法分享

本教程操作系统:Windows系统、 d3dcompiler_43.dll是电脑文件中的dll文件(动态链接库文件)。如果计算机中丢失了某个dll文件,可能会导致某些软件和游戏等程序无法正常启动运行,并且导致电脑系统弹窗报错。 在我们打开…

【LeetCode】110. 平衡二叉树

110. 平衡二叉树(简单) 思路 对二叉树做先序遍历,从底至顶返回子树最大高度,若判定某子树不是平衡树则“剪枝”直接向上返回。 递归返回值: 当节点 root 左、右子树的高度差 > 1:返回 -1,代…

吴恩达471机器学习入门课程1第1周

文章目录 1加载数据集2计算COST(均值平方差,1/2m(y_pre - y))3计算梯度4画出成本曲线5梯度下降 import math, copy import numpy as np import matplotlib.pyplot as plt plt.style.use(./deeplearning.mplstyle) from lab_utils_uni import plt_house_x, plt_conto…

OpenMMLab-AI实战营第二期——4-2.MMDetection代码课

文章目录 1. MMDetection介绍(vs MMSegmentation,mmdetection3d)2. 代码2.1 使用pycocotools配合exif可视化图像2.2 mmdetection中config的继承2.3 mmdet的数据集可视化问题(VISUALIZERS)2.4 pin_memory参数设置2.5 ma…

康佳液晶电视(非智能)Mstar V56 芯片

    2023/6/11 下午8:10:01 康佳用的地面波数字电视解码芯片是?  2023/6/11 下午8:10:08 康佳电视使用的地面波数字电视解码芯片可能因不同的产品型号而有所不同。然而,根据…

【AI作画】使用DiffusionBee with stable-diffusion在mac M1平台玩AI作画

DiffusionBee是一个完全免费、离线的工具。它简洁易用,你只需输入一些标签或文本描述,它就能生成艺术图像。 DiffusionBee下载地址 运行DiffusionBee的硬性要求:MacOS系统版本必须在12.3及以上 DBe安装完成后,去C站挑选自己喜欢…