js获取上个月的今天或者下个月的今天

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

如果上个月或者下个月没有今天,就取上个月或者下个月的最后一天。
传参数 1是下个月的今天,-1是取上个月的今天。

function getXmonthToday(type) {
    // type 0 是当天 -1 是上个月   1是下个月
    var now = new Date(); // 可以传值调式 now = new Date(2019,2,30); 今天是3月30号
    var year = now.getFullYear();//getYear()+1900=getFullYear()
    var month = now.getMonth() + 1;//0-11表示1-12月
    var day = now.getDate(); // 当天日期
    if (parseInt(month) < 10) {
      month = "0" + month;
    }
    if (parseInt(day) < 10) {
      day = "0" + day;
    }
    now = year + '-' + month + '-' + day; // 如果取当月日期可直接 return 返回

    var preMonth = parseInt(month)  - 1;
    preMonth = preMonth < 10 ? '0' + preMonth : preMonth; // 获取上个月的值
    var nextMonth = parseInt(month) + 1;
    nextMonth = nextMonth < 10 ? '0' + nextMonth : nextMonth; // 获取下个月个月的值

    if (parseInt(month) == 1 && type == -1) {//如果是1月份,要上个月 ,则取上一年的12月份
      return (parseInt(year) - 1) + '-12-' + day;
    } else if (parseInt(month) == 12 && type == 1) { // 如果是12月,要下个月,取下一年的1月
      return (parseInt(year) + 1) + '-01-' + day;
    }

    var preSize  = new Date(year, parseInt(month) - 1, 0).getDate();//上月总天数
    var nextSize = new Date(year, parseInt(month)+ 1, 0).getDate();//下月总天数
    console.log(preSize, nextSize)
    if (preSize < parseInt(day) && type == -1) {// 取上个月,如果上个月总天数小于本月今天,取上个月最后一天    
      return year + '-' + preMonth + '-' + preSize;
    } else if (nextSize < parseInt(day) && type == 1) { // 如果下个月总天数小于本月今天,取下个月最后一天  
      return year + '-' + nextMonth + '-' + nextSize;
    }

    if (type == -1) {
      return year + '-' + preMonth + '-' + day;
    } else if (type == 1) {
      return year + '-' + nextMonth + '-' + day;
    }else if(type == 0){
      return now;
    }
  }
// 测试 
 let a = getXmonthToday(-1);
 let b = getXmonthToday(1);
  console.log(a,b)

[js] 得到本月、上月、下月的起始、结束日期; 得到今年、去年、明年的开始、结束日期 day.js /** * @description 得到本月、上月、下月的起始、结束日期 * @param {String} type 有两种选择,"s"代表开始,"e"代表结束 * @param {Number} months 不传或0代表本月,-1代表上月,1代表下月 */ export function getMonth(type) { const now = new Date(); // 当前日期 let nowYear = now.getYear(); // 当前年 const nowMon 阅读详情

相关推荐

JavaScript技巧:处理上个月日期

获取当前日期后,我们需要将其设置为上个月的一号。这样,我们就成功地使用JavaScript获取上个月日期范围。在这里,我们使用了Date对象的构造函数,并将当前年份和上个月的月份作为参数传递给它。然后,我们将日期设置为0,这将使日期返回上个月的最后一天。首先,我们需要获取当前日期。本文将介绍如何使用JavaScript来获取上个月日期,并提供相应的源代码。在上一个步骤中,我们将当前日期设置为上个月的一号。这里,我们使用了字符串模板(template string)来打印出上个月日期范围。

ByteZenith的博客 2359

js 获取当前日期的上一个月

js获取当前日期的上一个月

技小白的博客 1万+

js 时间格式化

function dateFormat(fmt, date) { let ret; const opt = { "Y+": date.getFullYear().toString(), // 年 "m+": (date.getMonth() + 1).toString(), // 月 "d+": date.getDate().toString(), // 日 "H+": date.getHours..

小小少年eason的博客 726

js 获取当前时间的上个月的时间

可以使用以下方法获取当前时间的上个月的时间: const currentDate = new Date(); const lastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, currentDate.getDate()); ...

weixin_42600407的博客 3654

javascript 获得上个月获取下个月日期

在写日历控件时遇到个难题,

兰丝龙 专栏 1万+

JS处理日期获取上个月下个月

/** * @param now 当前日期 格式:yyyy-MM * @param addMonths 传-1 上个月,传1 下个月 */ function getNextMonth(now,addMonths) { var dd = new Date(now); var m = dd.getMonth() + 1; var y = dd.getMonth() + 1 + addMo...

king636的博客 1887

JS获取上个月下个月

/*获取上个月*/ function getPreMonth(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var days = new Date(year, month, 0); days = days.getDate(); //获取当前日期中月的天数 var year2 = year; var month2 = parse..

丶梦里啥都有的博客 1181

js获取上个月下个月的前一天

在开发中,有时我们需要获取当前月的上个月下个月的前一天这种需求,我们可以通过js的Date对象的有关方法实现. 难点:(1)、2月只有28天;(2)、在每个月的1号获取前一天的时候的年月日的处理;(3)、跨年的处理 实现方法: var date = new Date(); // 获取当前的时间对象 var year = date.getFullYear(); var month = dat...

u014417325的博客 1510

js获取上个月今天下个月今天

getXmonthToday(type) { // type 0 是当天 -1 是上个月 1是下个月 var now = new Date(); // 可以传值调式 now = new Date(2019,2,30); 今天是3月30号 var year = now.getFullYear(); //getYear()+1900=getFullYear() var month = now.getMonth() + 1; //0-11表示1-12月 .

TianQiWanLaiQiu的博客 1407

el-calendar如何判断点击的是上个月今天下个月

【代码】el-calendar如何判断点击的是上个月今天下个月

MISS_zhang_0110的博客 1760

获取上个月或者下个月时间戳

需求:给定一个时间戳获取这个时间戳上个月或者下个月时间戳?难点是不确定月份,所以这里先获取月份,再判断的(具体看代码注释都有)。时间戳转年月日就不贴出来了,网上太多了。

qq_43217258的博客 807

js计算月份代码 上个月-下个月

/*默认显示上个月日期*/ var nowdays = new Date(); var year = nowdays.getFullYear(); var month = nowdays.getMonth(); if(month==0){ month=12; year=year-1; } if (month < 10) { month = "0"

varius的专栏 1万+

获取某个日期上个月下个月

获取某个日期上个月日期格式为 xxxx-xx-xx) &lt;script type="text/javascript"&gt; alert(getPreMonth('2018-02-27')); // 测试 function getPreMonth(date) { var arr = date.split('-'); //用-将获取到的日期分割...

冯磊 7780

获取上个月当前时间和下个月

function getXmonthToday(type) { // type 0 是当天 -1 是上个月 1是下个月 var now = new Date(); // 可以传值调式 now = new Date(2019,2,30); 今天是3月30号 var year = now.getFullYear();//getYear()+1900=getFullYear() var month = now.getMonth() + 1;//0-11表示1-12月 .

Pumpkin_xiaoXuan的博客 1146

js处理时间格式(时间格式化、获取上个月或者下个月日期获取上周日期获取指定日期的前一天后一天)

js+vue处理各种时间格式(时间格式化、获取上个月或者下个月日期获取上周日期获取指定日期的前一天后一天) 首先引入了一个好用的时间插件 npm install dayjs --save 在需要的页面引入 import dayjs from 'dayjs'; // 时间戳 格式化 export function formatDate(time) { if (time) { const date = new Date(time); const Y = `${date.getFull

qq_41621896的博客 1784

JS获取下个月上个月今天

先展示一个日期格式化的方法: Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : th...

well2049的博客 7813

vue获取上个月今天

vue获取上个月今天

cc蒲公英的博客 1007

js获取获取上个月、当月、下个月 第一天与最后一天

开发中的一个小需求,用js获取获取上个月、当月、下个月 第一天与最后一天,直接上代码

Mr_king_00的博客 1437

JS 获取下个月日期方法 或30天后时间

JS 获取下个月日期方法获取下一个月一号获取30天后时间 获取下一个月一号 const nextMonth = function () { let now = new Date(); let month = now.getMonth()+1; let year = now.getFullYear(); if ( month === 12 ) { year += 1; ...

shimadongxue的博客 3880
上一篇: 前端常用的插件库
下一篇: laravel学习记录
well2049
博客等级 码龄9年 114粉丝 92原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值