js根据日期往前或者往后多少月,推算出日期
/**根据现有日期往前或者往后多少月,推算出日期 */
function defaulMonth(date, many,flag) {const thirtyDays = [4, 6, 9, 11] // 30天的月份const thirtyOneDays = [1, 3, 5, 7, 8, 10, 12] // 31天的月份const currDate = date ? new Date(date) : new Date(); // 今天日期const year = currDate.getFullYear()let month = currDate.getMonth() + 1let targetDateMilli = 0let GMTDate = '' // 中国标准时间let targetYear = '' // 年let targetMonth = '' // 月let targetDate = '' // 日let dealTargetDays = '' // 目标日期const isLeapYear =!!((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) // 是否是闰年// console.log(isLeapYear, "isLeapYear");let countDays = 0 // 累计天数for (let i = 0; i < many; i++) {if (flag === 'before') {month = month - 1 <= 0 ? 12 : month - 1} else {month = month + 1 > 12 ? 1 : month + 1}thirtyDays.includes(month)? (countDays += 30): thirtyOneDays.includes(month)? (countDays += 31): isLeapYear? (countDays += 29): (countDays += 28)}targetDateMilli = currDate.setDate(currDate.getDate() - (flag === 'before' ? countDays : countDays * -1))GMTDate = new Date(targetDateMilli)targetYear = GMTDate.getFullYear()targetMonth = GMTDate.getMonth() + 1targetDate = GMTDate.getDate()targetMonth = targetMonth.toString().padStart(2, '0')targetDate = targetDate.toString().padStart(2, '0')dealTargetDays = `${targetYear}-${targetMonth}-${targetDate}`return dealTargetDays
} // defaulMonth( '2021-12-12', 3,"before") //指定日期向前3个月// defaulMonth( '2021-12-10', 2,"after") //指定日期向后2个月// defaulMonth( null, 2 ,"after") //今天向后2个月
js根据日期往前或者往后多少月,推算出日期相关推荐
- 根据传入日期 往前或者往后 顺延月份
自己mark一下 工作场景 echarts图表需要,根据传入的日期时间(easyui datebox取值出来是string类型格式为:"2018-06-30"),推算往前几个月或者 ...
- calendar前推n天_把日期往前或者往后推一天
public class Test { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFo ...
- android日期函数前加0,Android手机开发:日期函数之判断某日期格式是否之前+计算某日期之前N天或之后N天的日期...
1. 判断某日期格式是否正确 /** * 判断日期格式是否正确 */ public static boolean IsDateFormat(String dataStr) { boolean stat ...
- android点击弹出日期选择器,关于Android 点击按钮弹出日期选择器
首先是 xml文件 xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width= ...
- JS获取当前前一个月的日期,前两个月的日期
起因 今天收到需求要实现一个获取当前时间前一个月的日期,前两个月,前三个月,前一年,前两年日期时间的需求于是我就去网上找了个帖子,按照他给的方法小改一下,废话不多说直接上代码[注意目前不支持往后的时间 ...
- js获取7天前,n天前的日期,7天后,n天后的日期,获取当前日期是周几
前言: 1. js获取7天前,n天前的日期,7天后,n天后的日期, 2.获取当前日期是周几 js方法: 1.获取指定日期,传参数进去,传的是正值,则是今天之后的日期.传的负值则是今天之前的日 ...
- 计算从某个日期开始往前或往后天数的日期
基本需求:给出一个日期,可以是当天日期,计算往前N天或者往后N天的日期. 给出的算法基本思路: 1.设定一个基础日期,比如1901-1-1 2.先算出给定日期和基础日期之间的天数n 3.往前m天或往后 ...
- js使用在vue中Date来计算日期,当前日期前多少天的日期 两个日期相减或相加等
首先要给Date内置函数添加一个方法用于格式化时间 // 扩展date的时间格式化 Date.prototype.Format = function (fmt) {var o = {"M+& ...
- JS 获取指定日期的前几天或者几天
例如获取2021-06-21后1天日期 /*** JavaScript 获取指定日期的前几天或者后几天的日期* @param date {string} 日期 如:2021-06-21* @param ...
最新文章
- c语言未命名exe,用dev-c++编译出现问题,求大神解答啊
- C++ string(转)
- list vue 删除后页面渲染_浅谈Vue项目实战(页面渲染+事件绑定)
- JAVA使用正则表达式给字符串添加分隔符
- java bitset_Java BitSet clone()方法及示例
- 【java】多线程控制(一)---Semaphore、Exchanger、CyclicBarrier、CountDownLatch
- python连接mysql的操作
- python3源代码分析_分析一点python源代码
- python什么时候用进程什么时候用线程_[译] Python 的多线程与多进程
- 目标规划运筹学例题doc_第八章 运筹学 目标规划 案例.doc
- u检验和t检验区别与联系
- 29岁,从绝望崩溃到年入50万:这个技能,决定你5年后的人生!
- Vue3+TypeScript
- Android系统如何修改默认打开程序
- Mysql 中的 mvcc原理
- ubuntu安装pcl 教程
- 《Unity 3.x游戏开发实例》一第2章 让我们从天空开始
- 基于TM8211的DAC芯片的学习
- vs .sln与.suo文件
- Pandas实战中的进阶技巧(1)
热门文章
- 网络安全——应急响应之入侵排查
- 自动化测试框架: KIF和EarlGrey对比
- 信号与系统(Python) 学习笔记摘录 (2) 傅里叶 Fourier
- Flowable Unknown property used in expression: xxx
- 浅谈scanf和scanf_s的区别,以及应对VS返回值被忽略的报错问题。
- Easy UI 支持移动端例子
- 微信小程序——查看AppId和AppSecret
- CRM系统优化工作效率与质量
- 使用StrongSwan配置IPSec
- video-player [ 视频播放插件 ]