js求两个日期中间的年或月或日的数组方法

js求两个日期中间的年或月或日的数组方法


分享一个根据起止日期求中间所有日期的数组的js方法函数
需要提前引入 moment.js文件

//获取两日期之间日期列表函数
<script src="moment.js"></script>  <#--引入moment.js 解析、校验、操作、显示日期和时间的 JavaScript 工具库-->
<script type="text/javascript">
	function getdifflist(start_time,end_time,type){ // type 为 days(天) , months(月), years(年)
	    var dateArray = [];     // dateArray 起止日期中间的所有日期列表
	    var currentDate = moment(start_time);    //起止日期
	    var stopDate = moment(etime);       //截止日期
	    //开始日期小于等于结束日期,并循环
	    while(currentDate <= stopDate){
	        if (type==='days') dateArray.push( moment(currentDate).format('YYYY-MM-DD') );  //两个日期间的所有日期,图一
	        if (type==='months') dateArray.push( moment(currentDate).format('YYYY-MM') );   //两个月份间的所有月份,图二
	        if (type==='years') dateArray.push( moment(currentDate).format('YYYY') );       //两个年份间的所有年份,图三
	        currentDate = moment(currentDate).add(1, type); //根据类型+1
	    }
	    return dateArray;
	}
</script>

图一:
调用函数
getdifflist(‘2021-03-07’,‘2021-03-09’,‘days’)
返回值:
图一
图二:
调用函数
getdifflist(‘2021-01’,‘2021-06’,‘months’)
返回值:
在这里插入图片描述

年之间数组代码中未用到,所以暂无demo,返回的格式都可以自定义格式化

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值