js 计算指定时间N年后的时间

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title>helloworld</title>
  </head>
  <body>
    <script>
      		/**
		 * 计算N年后,YYYYMMDD
		 * startdate:为开始时间,格式YYYYMMDD
		 * nextYear:为间隔年月,如1表示一年后,2表示两年后
		 */
		function getAfterNYear(startdate,nextYear){
       var expriedYear = parseInt(startdate.substring(0,4)) + nextYear;
       
			 var expriedMonth = startdate.substring(5,7);
       var expriedDay = startdate.substring(8);
      
			 //考虑二月份场景,若N年后的二月份日期大于该年的二月份的最后一天,则取该年二月份最后一天
			 if(expriedMonth == '02' || expriedMonth == 2){
				 var monthEndDate = new Date(expriedYear ,expriedMonth,0).getDate();
				 if(parseInt(expriedDay) > monthEndDate){//为月底时间
					 //取两年后的二月份最后一天
					 expriedDay = monthEndDate;
				 }
			 }
			 return expriedYear+'-'+expriedMonth+'-'+expriedDay;
    }
    $cur = getAfterNYear('2019-02-28',5);
    alert($cur)
      </script>
  </body>
</html>
发布了259 篇原创文章 · 获赞 95 · 访问量 84万+

猜你喜欢

转载自blog.csdn.net/lengyue1084/article/details/103432750