js给日期加月数,类似于java的calendar

so上看到的实现方式:

function addMonths(date, months) {

  var d = date.getDate();

  date.setMonth(date.getMonth() + +months);

  if (date.getDate() != d) {

    date.setDate(0);

  }

  return date;

}

// Add 12 months to 29 Feb 2016 -> 28 Feb 2017

console.log(addMonths(new Date(2016,1,29),12).toString());

// Subtract 1 month from 1 Jan 2017 -> 1 Dec 2016

console.log(addMonths(new Date(2017,0,1),-1).toString());

// Subtract 2 months from 31 Jan 2017 -> 30 Nov 2016

console.log(addMonths(new Date(2017,0,31),-2).toString());

// Add 2 months to 31 Dec 2016 -> 28 Feb 2017

console.log(addMonths(new Date(2016,11,31),2).toString());

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,843评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,426评论 19 139
  • var navigator = navigator || {};var window = window || {}...
    DF_Sky阅读 1,446评论 0 0
  • 上学依旧按计划八点到校门口,说了再见各自转身就走。放学她在一众孩子里很快发现了我,我们挤过涌动的人潮,手拉手回...
    罗雨白阅读 252评论 0 1
  • 头发是用圆珠笔画的 很久没画过水彩了,有点粗糙了
    西西弗113阅读 189评论 0 1

友情链接更多精彩内容