25号开始自然月怎么算(自然月和实际月的区别)

自然年月的概念

所谓自然月,是指每个月的1号到月底;自然年,是指每年的1月1号至12月31号。 而每个月的天数是不一样的,故而自然年月的计算,不能用通过减去固定天数的方式来计算。 如5月31号的上一个月,是4月30号,通过减去30天来计算就错了;同样,若只是月份减1,日期不变的话,也不对,会变成4月31号,但4月只有30天,js会自动进位到5月1号。 下面介绍两行代码即可搞定的自然年月计算的方法。

25号开始自然月怎么算(自然月和实际月的区别)

两行代码搞定自然月的计算

知识点:
  1. 先要获取目标月份的天数,怎么获取的简单技巧,这个是关键:new Date(year, month+step+1, 0), 其中,在加了步进月数step后,再+1, 即month+step+1,然后日期设置为0,这行代码的意思是:再取目标月份的下一个月份1号的前1天(1-1=0)这样就得到了目标月份的最后一天的日期,也即了目标月份的天数。
  2. 目标日期与目标月份的天数对比,取最小的,即是目标日期,比如3月31号的下一个月是4月30号,而不是4月31号

natureMonth(curDate, step){ lettargetDateLastDay = newDate(curDate.getFullYear(), curDate.getMonth() + step + 1, 0); returnnewDate(curDate.getFullYear(), curDate.getMonth() + step, Math.min(curDate.getDate(), targetDateLastDay.getDate())); }

当然,为了方便,curDate可以添加支持string类型,并且返回yyyy-MM-dd类型的日期字符串故最终代码为

natureMonth(curDate, step) { if(!curDate || !step) returncurDate; if(typeofcurDate === ‘string’) curDate = newDate(curDate.replace(/[\/|\.]/g, ‘-‘)) // new Date(str) 对str格式的,ios只支持yyyy-MM-ddlettargetDateLastDay = newDate(curDate.getFullYear(), curDate.getMonth() + step + 1, 0); lettargetDate = newDate(curDate.getFullYear(), curDate.getMonth() + step, Math.min(curDate.getDate(), targetDateLastDay.getDate())); returnformatDate(targetDate, ‘yyyy-MM-dd’) } formatDate(dateObj, format) { letmonth = dateObj.getMonth() + 1, date = dateObj.getDate(); returnformat.replace(/yyyy|MM|dd/g, field=>{ switch(field) { case’yyyy’: returndateObj.getFullYear(); case’MM’: returnmonth < 10? ‘0’+ month : month; case’dd’: returndate < 10? ‘0’+ date : date } }) }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年12月11日 下午3:04
下一篇 2022年12月11日 下午3:07

相关推荐

  • 淘宝等级怎么提升(养一个3心的淘宝号要多久)

    有过淘宝购物经验的朋友都知道,淘宝账号是有等级的,等级越高享受到的特权也就越好,享受到的购物保障也就越多。所以大家都会想着要去提高淘宝账号等级,那么要如何快速提升淘宝账号等级?1、有过淘宝购物经验的朋

    2022年10月14日
    3460
  • 生蚝的做法蒸几分钟(生蚝清蒸做法)

    生蚝肉质肥美,营养丰富,更是号称“男人女人们的加油站”,要问起吃生蚝最简单也最常见的做法,那肯是“清蒸生蚝”。而许多人对于蒸生蚝需要几分钟能熟,蒸多长时间为好和冷水下锅还是热水一直抱有困惑,下面麟大大就为大家一一精准回答。 生蚝要蒸多长时间能熟? 1、生蚝如果是开壳清蒸,水开后只需蒸5分钟即可蒸熟。因为开壳蒸生蚝受热更快,为了保留更多鲜味,所以在时间上需要控…

    2022年12月31日
    230
  • 电费计算公式怎么算(空调耗电量的计算公式是什么)

    很多家庭为了让空调的制冷效果更好,卧室安装的是1.5匹空调,真的合适吗? 其实,空调的匹数不是越大越好,一定要跟自己的房屋面积匹配,才是合适的选择。因为匹数越大,意味着制冷的功率越高,同时也说明更耗电。 大多数家庭的卧室可以选择1匹空调或者是1.5匹空调,如何选择对应的空调匹数? 如果卧室的面积不大,在10平米到15平米左右,完全可以选择大1匹空调。 如果室…

    2023年2月19日
    160
  • lpr利率变了为什么房贷没变(lpr利率下调对已贷款房子的影响)

    lpr利率有新的调整,对于已经贷款的购房者,如果是选择的浮动利率会受到影响,那么lpr利率变了为什么房贷没变呢?lpr利率变了为什么房贷没变1、如果贷款人选择的是固定利率,lpr利率变了是不会受影响的

    2022年9月12日
    680
  • 焉得虎子出自哪里

    焉得虎子,汉语成语,拼音是yāndéhǔzǐ,意思是不进老虎窝,怎能捉到小老虎,比喻不亲历险境就不能获得成功。那么焉得虎子出自哪里呢?焉得虎子出自哪里1、焉得虎子出自《后汉书·班超传》。2、《后汉书·

    2022年9月29日
    690
  • vivo设置好了悬浮窗怎么使用(vivox70pro+如何设置悬浮窗)

    vivox70pro+手机为大家准备了小窗功能,开启该功能后就相当于在页面上添加了一个悬浮小窗。那vivox70pro+如何设置悬浮窗呢?下面就跟着小编一起来瞧瞧吧! vivox70pro+开小窗教程分享 1、从手机底部上滑并停顿呼出后台应用程序,长按想要开启小窗的应用。 2、在弹出的选项中点击小窗即可。 3、成功开启小窗后,还可以调节小窗的大小或者关闭。 …

    2023年2月22日
    190
  • 福建安溪属于哪个市的(泉州市安溪县8大推荐美食)

    安溪县,隶属于福建省泉州市,位于福建省东南沿海,厦、漳、泉闽南金三角西北部,东接南安市,西连华安县,南毗同安区,北邻永春县,西南与长泰县接壤,西北与漳平市交界,下面小编给大家分享一下到了安溪县要品尝一下的8道地方美食。 1、湖头米粉 湖头米粉,福建省安溪县湖头镇特产,中国国家地理标志产品。湖头米粉以优质大米为原料,配用五阆山下天然矿泉水,经传统工艺精制而成,…

    2023年1月28日
    200
  • 面条的神仙吃法教程(分享6款面条的神仙吃法)

    今日分享六款好吃的快手家常面,做早餐、午餐、晚餐都非常合适简简单单的美食,最能满足味蕾! 一、西红柿打卤面 食材:西红柿、青椒、肉末、面条 做法: 1、锅中放油烧热,下猪肉翻炒,变色后放点葱花蒜末辣椒爆香,然后放入西红柿炒出汁水。 2、加半碗水和调味料,生抽,蚝油和食盐,煮出食材的味道到汤汁里。 3、最后用淀粉水勾芡,撒上剩下的辣椒,卤子就做好了,最后把卤子…

    2023年11月21日
    90
  • 克拉霉素最多可吃几天(克拉霉素最少要吃几天)

    大家好,linda来为大家解答以上的问题。克拉霉素最多可吃几天,克拉霉素最少要吃几天很多人还不知道,现在让我们一起来看看吧!1、克拉霉素是一种抗生素,针对不同的疾病有不同的疗程和服用天数。2、如果口服

    2022年10月4日
    1600
  • 螃蟹蒸的时候可以叠加起来吗(蒸螃蟹可以重叠放吗)

    螃蟹是生活中比较常见的一种美食,它的吃法比较多,营养价值高,适量食用对身体有一定好处。很多人都会在家蒸螃蟹吃,一般都是反面朝上蒸,这样可以防止蟹黄蟹膏流出来。也可以叠着放,但是这样容易导致受热不均,一

    2022年9月18日
    460

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信