JS时间格式转化,获取前十天,后十天,前n天,后n天的具体时间方法

2024-04-27 18:32

本文主要是介绍JS时间格式转化,获取前十天,后十天,前n天,后n天的具体时间方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JS时间转化,获取前十天,后十天,前n天,后n天的具体时间方法

1.参数说明:
参数说明
day前后n天 0为当天,正值表示未来n天,负值表示过去n天
fmt时间转化的格式
time传入时间,默认为当前时间
function recentTime(day,fmt,time){ //获取当前时间的毫秒值let now = (time? new Date(time) :new Date()).getTime();// 获取前后n天时间let recent = new Date(now+day*24*60*60*1000)// key:正则匹配表达式,value:对应的时间、日期let fmtObj = {'M+': recent.getMonth()+1, 		//月份'd+': recent.getDate(),  		//日'h+': recent.getHours(), 		//时'm+': recent.getMinutes(),		//分's+': recent.getSeconds(),		//秒}// 获取匹配年份替换if(/(y+)/.test(fmt)){//RegExp.$1 匹配结果,替换成对应的长度。如:yyyy就替换成整个年份2021,yy就替换成后两位21,以此类推fmt = fmt.replace(RegExp.$1,(recent.getFullYear()+'').substr(4-RegExp.$1.length))}for(let key in fmtObj){if(new RegExp(`(${key})`).test(fmt)){//日期,时、分、秒替换,判断fmt是否需要补0,如:yyyy-M-d h:m:s 不补0,yyyy-MM-dd hh:mm:ss 则自动补0fmt = fmt.replace(RegExp.$1,RegExp.$1.length==1 ? fmtObj[key] : ('00'+fmtObj[key]).substr((''+fmtObj[key]).length))}}return fmt
}
2.调用
recentTime(1,'yyyy-MM-dd hh:mm:ss','2022-01-03 00:00:00')
// 2022-01-04 00:00:00
recentTime(0,'yyyy-M-d','2021-04-06')
// 2021-04-06
recentTime(-1,'yyyy-MM-dd hh:mm:ss','2021-04-06 13:52:05')
// 2021-04-05 13:52:05
recentTime(2,'yyyy-MM-dd','2021-04-06 13:52:05')
// 2021-04-08

这篇关于JS时间格式转化,获取前十天,后十天,前n天,后n天的具体时间方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941224

相关文章

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2