当前位置: 首页 > news >正文

javascript原来还可以这样比较两个日期(直接使用new Date)

有个需求是这样的:假设今天是2023/11/15
在这里插入图片描述
有一个表格,表格中操作列按钮的展示与隐藏依靠开始结束日期来进行展示,如果当前日期在开始结束日期之间,则进行展示,我一开始做的时候使用new Date转换成时间戳(getTime)进行比较的,

const timeFlag = new Date(this.$CU.formate(new Date()).getTIme() >= new Date(开始日期).getTime() && new Date(this.$CU.formate(new Date()).getTIme() <= new Date(结束日期).getTime()
if(timeFlag) {//显示按钮
}

this.$CU.formate是挂载到vue原型上的一个格式化方法

/*** 获取 '2021-07-14' 或者 '2021-07-14 10:10:20' 样式的时间字符串* @param {*} val 时间(Date类型的字符串 或者 '2021-07-14' 或者 Number类型的时间戳)* @param {*} formate 时分秒(hms)* @returns 返回 '2021-07-14' 或者 '2021-07-14 10:10:20'*/
const formatData = function (val, formate) {if (!val) {return;}if (Object.prototype.toString.call(val) === "[object String]" && !isNaN(new Date(val.replace(/-/g, "/")))) {val = val.replace(/-/g, "/");}let y = new Date(val).getFullYear(); // 年let m = new Date(val).getMonth() + 1; // 月let d = new Date(val).getDate(); // 日let hours = new Date(val).getHours(); // 时let minutes = new Date(val).getMinutes(); // 分let seconds = new Date(val).getSeconds(); // 秒m = m < 10 ? "0" + m : m;d = d < 10 ? "0" + d : d;let returnStr = y + "-" + m + "-" + d;if (formate === "hms") {hours = hours < 10 ? "0" + hours : hours;minutes = minutes < 10 ? "0" + minutes : minutes;seconds = seconds < 10 ? "0" + seconds : seconds;returnStr += " " + hours + minutes + seconds;}return returnStr;
};

通过转换成时间戳的形式,比较当前日期是否在开始结束日期之间来进行判断。
当今天我看同事的代码也有实现类似的功能的时候,发现不进行时间戳转换也可以,直接使用new Date()比较,
在这里插入图片描述
注意:不可进行相等比较。只能进行>= <=比较
建议将这个方法写到项目中,因为有时候将时间转换成年月日,年月日时分秒字符串形式的还是非常常见的。
所以经过改造可以写成这样

const timeFlag = new Date(this.$CU.formatData(new Date)) >= new Date(开始日期) && new Date(this.$CU.formatData(new Date)) <= new Date(结束日期)
if(timeFlag) {// 显示按钮}

相关文章:

javascript原来还可以这样比较两个日期(直接使用new Date)

有个需求是这样的&#xff1a;假设今天是2023/11/15 有一个表格&#xff0c;表格中操作列按钮的展示与隐藏依靠开始结束日期来进行展示&#xff0c;如果当前日期在开始结束日期之间&#xff0c;则进行展示&#xff0c;我一开始做的时候使用new Date转换成时间戳(getTime)进行比…...

[云原生案例2.4 ] Kubernetes的部署安装 【通过Kubeadm部署Kubernetes高可用集群】

文章目录 1. 基本架构及前置准备1.1 基本架构1.2 前置准备 2. 系统初始化操作 ---- 所有节点2.1 关闭防火墙、selinux和swap分区2.1.1 关闭防火墙和selinux2.1.2 关闭交换分区 2.2 修改主机名&#xff0c;添加域名映射2.2.1 修改主机名2.2.2 修改本地hosts文件 2.3 内核升级2.4…...

PP-ChatOCRv2、PP-TSv2、大模型半监督学习工具...PaddleX新特性等你来pick!

小A是一名刚刚毕业的算法工程师&#xff0c;有一天&#xff0c;他被老板安排了一个活&#xff0c;要对一批合同扫描件进行自动化信息抽取&#xff0c;输出结构化的分析报表。OCR问题不大&#xff0c;但是怎么进行批量的结构化信息抽取呢&#xff1f;小A陷入了苦苦思索… 小B是…...

HarmonyOS 学习记录

时光荏苒,岁月如梭,韶华不负,未来可期。转眼间已经30岁了&#xff0c;学习的重要性不言而喻&#xff0c;在接下来的日子里记录下自己学习HarmonyOS的过程。增加一下知识储备&#xff0c;防患于未然嘛 不得不说华为的开发文档写的不错&#xff0c;开发工具直接安装后自动配置环境…...

阿里云 业务集群的冗余、备份、监控方案

1. 请解释什么是业务集群的冗余、备份和监控&#xff1f; 一、冗余方案 硬件冗余&#xff1a;在业务集群中&#xff0c;关键设备如服务器、存储设备等应采用双机热备或集群技术&#xff0c;确保在某台设备出现故障时&#xff0c;其他设备能够自动接管工作&#xff0c;保证业务…...

无人驾驶的未来 后疫情时代如何抵达

作者 | 马冀&#xff0c;澳鹏&#xff08;Appen&#xff09;中国区副总裁 自动驾驶—疫情危难中显身手 2020年&#xff0c;一场突如其来的新冠肺炎肆虐全球, 导致不同国家的人们被迫隔离或保持社交距离&#xff0c;人与人之间的接触变得风险极高。一时间&#xff0c;人们对于…...

(论文阅读31/100)Stacked hourglass networks for human pose estimation

31.文献阅读笔记 简介 题目 Stacked hourglass networks for human pose estimation 作者 Alejandro Newell, Kaiyu Yang, and Jia Deng, ECCV, 2016. 原文链接 https://arxiv.org/pdf/1603.06937.pdf 关键词 Human Pose Estimation 研究问题 CNN运用于Human Pose E…...

【第2章 Node.js基础】2.6 Node.js 的Buffer数据类型

Buffer数据类型 文章目录 Buffer数据类型什么是Buffer数据类型Buffer 的特点 创建Buffer实例Buffer用于编码转换将Buffer 实例转换为JSON 对象Buffer实例基本操作1. 写入Buffer实例&#xff1a;2. 从Buffer实例读取数据&#xff1a;3. Buffer实例合并&#xff1a; 4. Buffer实例…...

reactive和effect,依赖收集触发依赖

通过上一篇文章已经初始化项目&#xff0c;集成了ts和jest。本篇实现Vue3中响应式模块里的reactive方法。 前置知识要求 如果你熟练掌握Map, Set, Proxy, Reflect&#xff0c;可直接跳过这部分。 Map Map是一种用于存储键值对的集合&#xff0c;并且能够记住键的原始插入顺…...

【C#学习】backgroundWorker控件

BackgroundWorker 控件的几个实例&#xff08;C# backgroundworker使用方法&#xff09;&#xff1a; 在 WinForms 中&#xff0c;有时要执行耗时的操作&#xff0c;在该操作未完成之前操作用户界面&#xff0c;会导致用户界面停止响应。 解决的方法就是新开一个线程&#xff…...

Istio学习笔记-部署模型

参考&#xff1a;Istioldie 1.18 / 部署模型 当您将 Istio 用于生产环境部署时&#xff0c;需要确定一系列的问题。 网格将被限制在单个集群中还是分布在多个集群中&#xff1f; 是将所有服务都放置在单个完全连接的网络中&#xff0c;还是需要网关来跨多个网络连接服务&#…...

磁盘调度算法

磁盘调度算法是计算机操作系统中用于管理磁盘上的数据访问的重要组成部分。这些算法有助于优化数据的读写操作&#xff0c;以减少磁盘访问时间&#xff0c;提高系统性能。以下是一些常见的磁盘调度算法&#xff1a; 先来先服务&#xff08;FCFS&#xff0c;First-Come-First-Se…...

力扣题库2. 两数相加

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 开…...

【Linux】第十六站:进程地址空间

文章目录 一、程序地址空间1.内存的分布2.static修饰后为什么不会被释放3.一个奇怪的现象 二、进程地址空间1.前面现象的原因2.地址空间究竟是什么&#xff1f;3.为什么要有进程地址空间4.页表5.什么叫进程&#xff1f;6.进程具有独立性。为什么&#xff1f;怎么做到呢&#xf…...

基于Springboot的影城管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的影城管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 项目介绍…...

如何在面试中胜出?接口自动化面试题安排上

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…...

联邦学习研究综述笔记

联邦学习 联邦学习的定义&#xff1a;联邦学习是一种分布式机器学习架构&#xff0c;包含多个客户端&#xff08;参与者&#xff09;和一个聚合服务器。客服端&#xff08;参与方&#xff09;&#xff1a;在本地使用自己的私有数据训练模型&#xff0c;训练完成之后将模型的参…...

RedisTemplate乱码问题

其实这是在解决一个项目问题是发现的&#xff0c;因为原开发者的大意&#xff0c;造成了系统出现严重的逻辑问题。 因为系统系统采用分模块开发&#xff0c;某模块使用Spring提供的RedisTemplate进行值的读写&#xff0c;另一位使用了框架基于Jedis的一套公用方法进行值的读写…...

Java用户和内核交互图

...

2023.11.14使用bootstrap制作一个简洁的前端注册登录页

2023.11.14使用bootstrap制作一个简洁的前端注册登录页 比较简洁的登录页&#xff0c;主要是为自己开发的一些平台页面做测试用&#xff0c;前端具备功能如下&#xff1a; &#xff08;1&#xff09;输入用户名、密码&#xff0c;需补充后端验证代码。 &#xff08;2&#xff…...

基于C++实现时间片与高优先级抢占调度算法的进程与资源管理功能模拟操作系统OS

MockProcessCmd [Experiment]设计和实现基于时间片与高优先级抢占调度算法的进程与资源管理功能模拟 OS Computer operating system experiment. 开发环境 IDE&#xff1a;Visual Studio 2019Language&#xff1a;C STL 功能需求 设计和实现进程与资源管理&#xff0c;并…...

5分钟学会在Windows上直接安装Android应用:APK-Installer终极指南

5分钟学会在Windows上直接安装Android应用&#xff1a;APK-Installer终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上运行某个只有…...

从SEED-Labs实验到实战:手把手教你编写无零字节的x86 Shellcode(附完整代码)

从SEED-Labs实验到实战&#xff1a;手把手教你编写无零字节的x86 Shellcode&#xff08;附完整代码&#xff09; 当你第一次看到"Shellcode"这个词时&#xff0c;可能会联想到某种神秘的编程黑魔法。实际上&#xff0c;它是安全研究中最具实用价值的技能之一——一段…...

BetterNCM Installer:让网易云音乐插件安装化繁为简的利器

BetterNCM Installer&#xff1a;让网易云音乐插件安装化繁为简的利器 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 你是否曾因复杂的插件安装流程望而却步&#xff1f;是否在面对命…...

MCP3208 SPI驱动开发:嵌入式多通道12位ADC实战指南

1. MCP3208 ADC驱动库深度解析&#xff1a;面向嵌入式工程师的SPI模数转换实战指南MCP3208是Microchip公司推出的8通道、12位分辨率、逐次逼近型&#xff08;SAR&#xff09;模数转换器&#xff0c;采用标准四线SPI接口通信&#xff0c;支持单端与差分输入模式&#xff0c;工作…...

GBase 8c 表空间规划和对象迁移

GBase 8c 表空间规划和对象迁移 我最近看 GBase 8c 资料时&#xff0c;越来越强烈的一个感觉是&#xff1a;很多现场不是不会建表空间&#xff0c;而是把表空间用得太晚、太散、太随意。 真正落到现场时&#xff0c;最常见的现象通常不是“不会执行 CREATE TABLESPACE”&#x…...

ARMv8-A架构革命——超越64位寻址的三大范式转移

该文章同步至公众号OneChan 开篇&#xff1a;回答上篇进阶思考 在上一篇的结尾&#xff0c;我们留下了三个问题&#xff0c;现在让我们逐一探讨&#xff1a; 1. 从A53到A55再到A510&#xff0c;ARM的小核设计哲学如何演变&#xff1f; Cortex-A53 (2014)&#xff1a;定义了“…...

Phi-4-Reasoning-Vision镜像使用指南:双卡负载均衡与CUDA内存优化技巧

Phi-4-Reasoning-Vision镜像使用指南&#xff1a;双卡负载均衡与CUDA内存优化技巧 1. 工具概述 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具&#xff0c;专为双卡4090环境优化设计。这个工具能够充分发挥15B大模型的深度推…...

QMCFLAC2MP3深度解析:从格式解密到跨设备音频转换的全流程实践

QMCFLAC2MP3深度解析&#xff1a;从格式解密到跨设备音频转换的全流程实践 【免费下载链接】qmcflac2mp3 直接将qmcflac文件转换成mp3文件&#xff0c;突破QQ音乐的格式限制 项目地址: https://gitcode.com/gh_mirrors/qm/qmcflac2mp3 问题引入&#xff1a;破解音乐格式…...

技术难题攻克指南:Retrieval-based-Voice-Conversion-WebUI常见问题全景解析

技术难题攻克指南&#xff1a;Retrieval-based-Voice-Conversion-WebUI常见问题全景解析 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieva…...