JS获取去年日期(包含闰年逻辑)
// 获取日期
function getDay(d, num) {const date = new Date(new Date(d).setDate(new Date(d).getDate() + num))const year = date.getFullYear()const month = (date.getMonth() + 1 + "").padStart(2, "0")const day = (date.getDate() + "").padStart(2, "0")return `${year}-${month}-${day}`
}// 是否是闰年
function isLeap(year){return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0
}// 返回去年日期
function lastYearDate(d) {const date = new Date(d)const year = date.getFullYear()const month = date.getMonth() + 1const day = date.getDate()const lastYear = year - 1const thisYearisLeap = isLeap(year)const lastYearIsLeap = isLeap(lastYear)// 特殊情况:去年是否是闰年 或 今年是闰年且为12月31日if (lastYearIsLeap || (thisYearisLeap && month == 12 && day == 31)) return getDay(d, -366)return getDay(d, -365)
}// 测试
const date = "2021-2-10"
console.log(lastYearDate(date)) // 2020-02-10
const date1 = "2021-3-1"
console.log(lastYearDate(date1)) // 2020-02-29
const date2 = "2021-3-10"
console.log(lastYearDate(date2)) // 2020-03-09const date3 = "2020-1-10"
console.log(lastYearDate(date3)) // 2019-02-10
const date4 = "2020-2-29"
console.log(lastYearDate(date4)) // 2019-03-01
const date5 = "2020-3-10"
console.log(lastYearDate(date5)) // 2019-03-11
const date7 = "2020-12-31"
console.log(lastYearDate(date7)) // 2019-12-31const date6 = "2023-3-1"
console.log(lastYearDate(date6)) // 2022-03-01
JS获取去年日期(包含闰年逻辑)相关推荐
- layer日期和时间组件限制最大日期和 js获取昨天日期
layer日期和时间组件限制最大日期 html: <input class="layui-input" id="test" autocomplete=&q ...
- js根据判断改变html字符串长度,JS获取字符串长度(包含汉字)的简单示例
这篇文章主要为大家详细介绍了JS获取字符串长度(包含汉字)的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 方法一: /** * * @p ...
- js获取农历日期、节气等
js获取农历日期.节气等信息的插件–solarlunar https://github.com/yize/solarlunar#readme 点我直达 npm install solarlunar / ...
- js获取指定日期的前一年(需要判断闰年和平年)
如果要考虑二月份的情况,就需要注意闰年和平年的区别.闰年的二月份有29天,平年的二月份只有28天. 以下是一种考虑闰年和平年的实现方法: //获取指定日期的前一年getYearLast(dateStr ...
- 小程序 : js获取今日日期、加日期、减日期; 判断今日 、判断昨日
获取今日,日期加.日期减 效果图: 选择日期大于今日时 .js代码 Page({/*** 页面的初始数据*/data: {choseDate: '', // 选择的时间week:'', //星期几on ...
- JS获取/格式化日期(附JS获取昨日、今日、上周、本周、上月、本月方法)
JS中处理日期时间常用Date 对象,故本文将依次按照 创建Date对象 -> 获取日期时间 -> 格式化日期时间 的顺序进行讲解,且已封装好格式化日期等方法可直接使用.若有不正请多指教. ...
- js处理日期的一些整理(js获取给定日期前一天的日期)
var date = new Date();alert(date);//获取当前时间 alert(date.getFullYear());//获取当前年分 alert(date.getMonth()) ...
- JS 获取指定日期的前几天或者几天
例如获取2021-06-21后1天日期 /*** JavaScript 获取指定日期的前几天或者后几天的日期* @param date {string} 日期 如:2021-06-21* @param ...
- JS获取指定日期前后N天的日期、前N个月日期、后N个月日期
今天做项目遇到了,获取相对于当前日期前30天的时间,结合网上资料,做了一份整理. 一.获取指定日期前或者后指定间隔时间代码 function getNowFormatDate(sdate,interv ...
最新文章
- 【牛腩新闻发布系统】开始前端03
- bootstrap datepicker Uncaught TypeError: Cannot call method 'split' of undefined问题
- DedeCMS生成首页html静态文件的教程
- 深入探究.Net Core Configuration读取配置的优先级
- MPLS-L3×××中的公网访问
- ASP.NET MVC中如何在客户端进行必要的判断
- 7 ida pro 网盘_IDA分析iOS网络协议
- 华为深圳数据分析外包
- KV杀毒软件创始人离世
- 用html代码制作一个歌单,歌单.html · 李岢恩/MusicClub - Gitee.com
- 海康威视摄像头用yolo检测行人的一些问题
- 计算机重装后不能启动怎么办,电脑重装系统后开不了机怎么处理
- 全网最细的Spring教程(一)
- PHP和Python该如何抉择?现在PHP还有前景吗?
- Java代理模式及动态代理详解
- 一文8个步骤从0到1实现Python+Selenium自动化测试项目实战【建议收藏】
- 年味究竟是淡了还是浓了?
- IOS自动获取短信验证码
- protege5.0基础教程
- C语言 —— for循环(一)