常用工具函数收集

1、获取两个日期之间所有的日期

 getAllDate (start, end) {
   var dateRange = new Array();
   var i=0;
   //开始日期小于等于结束日期,并循环
   while(start<=end){
       dateRange[i] = start;
                    
       //获取开始日期时间戳
       var start_ts = new Date(start).getTime();
                    
       //增加一天时间戳后的日期
       var next_date = start_ts + (24*60*60*1000);
                    
       //拼接年月日,这里的月份会返回(0-11),所以要+1
       var next_dates_y = new Date(next_date).getFullYear()+'-';

       var next_dates_m = (new Date(next_date).getMonth()+1 < 10)?'0'+(new   
          Date(next_date).getMonth()+1)+'-':(new Date(next_date).getMonth()+1)+'-';

      var next_dates_d = (new Date(next_date).getDate() < 10)?'0'+new 
          Date(next_date).getDate():new Date(next_date).getDate();
            
      start = next_dates_y + next_dates_m + next_dates_d;
                    
      //增加数组key

      i++;
 }

 return dateRange

}

2、日期对象格式化函数

let dateFormate = function (value, formate = 'YYYY/MM/DD HH:mm:SS') {
    if (value) {
        let dateObj;
        switch (Object.prototype.toString.call(value)) {
            case '[object Number]':
                dateObj = new Date(value);
                break;
            case '[object String]':
                value = value.replace(/-/g, '/') //ie 不支持 '2018-11-11 00:01:01' 这样的写法 Invalid Date;
                dateObj = new Date(value);
                break;
            case '[object Date]':
                dateObj = value;
                break;
            default:
                console.log('value:', value, Object.prototype.toString.call(value))
                return value;
                break;
        }
        const year = dateObj.getFullYear();
        const month = Number(dateObj.getMonth() + 1) > 9 ? String(dateObj.getMonth() + 1) : '0' + String(dateObj.getMonth() + 1);
        const day = Number(dateObj.getDate()) > 9 ? String(dateObj.getDate()) : '0' + String(dateObj.getDate());
        const hour = Number(dateObj.getHours()) > 9 ? String(dateObj.getHours()) : '0' + String(dateObj.getHours());
        const minute = Number(dateObj.getMinutes()) > 9 ? String(dateObj.getMinutes()) : '0' + String(dateObj.getMinutes());
        const second = Number(dateObj.getSeconds()) > 9 ? String(dateObj.getSeconds()) : '0' + String(dateObj.getSeconds());



        formate = formate.replace(/Y{1,4}/i, year)
        formate = formate.replace(/M{1,2}/, month)
        formate = formate.replace(/D{1,2}/i, day)
        formate = formate.replace(/H{1,2}/i, hour)
        formate = formate.replace(/m{1,2}/, minute)
        formate = formate.replace(/S{1,2}/i, second)

        return formate;
    } else {
        return ''
    }
}
Vue.prototype.dateFormate = dateFormate

 

3、 获取某个日期之后12个月的月份

var dataArr = [];
var data = new Date();
var year = data.getFullYear(); //以今天为例,也可以传入指定的日期
data.setMonth(data.getMonth()-1, 1); //获取到当前月份,设置月份

for (var i = 0; i < 12; i++) {
    data.setMonth(data.getMonth() + 1); //每次循环一次 月份值加1
    var m = data.getMonth() + 1;
    m = m < 10 ? "0" + m : m;
    dataArr.push(data.getFullYear() +'年' + "-" + m + '月');
}

 持续添加中~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值