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

js选中起始时间使用标准时间毫秒值计算一年后的当前少一天的日期(并考虑闰年)

js选中起始时间使用标准时间毫秒值计算一年后的当前少一天的日期

实际代码里面带入默认日期’20230301’这个特殊日期,因为下一年的当前日期少一天为闰年的2月会有29天,使用特殊值校验代码效果图

在这里插入图片描述

在这里插入图片描述

HTML部分代码

<el-button @click="chengTime()" type="warning">按钮一</el-button>
<el-button @click="chengTimes()" type="info">按钮二</el-button>

JS部分代码

            // 将毫秒值时间转化为标准时间格式方法
            dateFormat(val){
                 let date=new Date(val);
                 let y=date.getFullYear();
                 let m=date.getMonth()+1;
                 m=m<10?'0'+m:m;
                 let d=date.getDate();
                 d=d<10?'0'+d:d;
                 let time=y+'-'+m+'-'+d;
                 return time
            },
            // 第一种方法获取开始时间计算一年后的当前时间少一天的日期
            chengTime(){
                  let timeList=[]
                  let nowtime='20230301' // 这里专门挑选了闰年2月最后一天的特殊数据进行测试
                  let nowyear=Number(nowtime.substring(0,4))+1
                  let nowmonth=nowtime.substring(4,6)
                  let nowday=nowtime.substring(6,8)
                  if(nowmonth=='02'&&nowday=='29'){
                    nowmonth='03';
                    nowday='01'
                  }
                  timeList.push((nowyear+''));
                  timeList.push(nowmonth);
                  timeList.push(nowday);
                  let timeStr=timeList[0]+'-'+timeList[1]+'-'+timeList[2]
                  let oldtime=new Date(timeStr).getTime()-3600*24*1000
                  let formattedTime=this.dateFormat(oldtime).replace("-", "").replace("-", "")
                  this.$message({
                        message: `按钮一的值,${formattedTime}`,
                        type: 'success'
                  })
            },
            // 第二种方法获取开始时间计算一年后的当前时间少一天的日期
            chengTimes(){
                  let nowtime='20230301' // 这里专门挑选了闰年2月最后一天的特殊数据进行测试
                  let nowyear=Number(nowtime.substring(0,4))+1;  // 年份上加上1获取下一年的年数据
                  let nowmonth=parseInt(nowtime.substring(4,6))-1; // 根据new Date()获取时间数据的方法,传入的月份需要减去1
                  let nowday=parseInt(nowtime.substring(6,8))-1;// 天数上减去1获取少一天的数据
                  let formattedTime=this.dateFormat(new Date(nowyear,nowmonth,nowday)).replace("-", "").replace("-", "")
                  this.$message({
                        message: `按钮二的值,${formattedTime}`,
                        type: 'error'
                  })
            }

需要注意的是:方法一在实际使用中需要考虑浏览器对于原生JS的支持版本,我在实际使用中发现低版本的好像不兼容。使用方法二的话就兼容性更好,更推荐使用方法二去获取下一年当前日期少一天的日期数据。


http://www.kler.cn/a/156340.html

相关文章:

  • 微服务架构面试内容整理-API 网关-Gateway
  • CentOS 服务
  • MyBatisPlus 用法详解
  • wafw00f源码详细解析
  • 【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-最大的数
  • 前端 JS面向对象 原型 prototype
  • 【拓展】Loguru:更为优雅、简洁的Python 日志管理模块
  • COMP4121Advanced Algorithms
  • Linux4.8、环境变量续
  • css3新增的伪类有哪些?
  • SpringTask入门案例
  • linux具体命令(持续更新中)
  • 分页助手入门以及小bug,报sql语法错误
  • OGG实现Oracle19C到postgreSQL14的实时同步
  • Elk:filebeat 日志收集工具和logstash
  • 接口获取数据控制台打印有值但是展开又没有了
  • Linux C语言 38-进程间通信IPC之信号
  • Kubernetes学习笔记-Part.01 Kubernets与docker
  • 【蓝桥杯】带分数
  • 2023.12.2 关于 Spring AOP 详解
  • 最有效的wordpress禁止生成缩略图教程
  • 全局变量为什么没有野指针
  • C++ 从函数返回指针
  • 目标检测YOLO系列从入门到精通技术详解100篇-【图像处理】目标检测
  • 【数值计算方法(黄明游)】函数插值与曲线拟合(一):Lagrange插值【理论到程序】
  • 21、Resnet50 中包含哪些算法?