js循环一个月的日期放在一个数组里、毫秒转日期函数、标准时间转日期(兼容IE不兼容IE)、日期转毫秒、时间比较、日期增加、减少一天

33 篇文章 1 订阅
21 篇文章 1 订阅

在这里插入图片描述

调用函数

this.getAttenData('2022-07-19')

函数

getAttenData(checkdate){
	//获取年
	var checkdateYear = checkdate.slice(0,4)
	//获取月
	var checkdateMonth = checkdate.slice(5,7)
	//转换成标准时间
	var nowDate = new Date(checkdate);
	// 获取本月最后一天
	var endOfMonth = new Date(checkdateYear,checkdateMonth, 0).getDate(); 
	//当月第一天
	//setDate()函数:设置一个月的某一天。返回值是调整过的日期的毫秒表示
	var startDate = this.getFullDate(nowDate.setDate(1));
	//当月最后一天
	var endDate = this.getFullDate(nowDate.setDate(endOfMonth));
	// 日期
    var newDays = "";
    var checkdate="";
    var params = [];
    for(var d=0; d<endOfMonth;d++){
     var obj={};  
     var newDay = d+1;
     newDays = newDay < 10 ? String("0" + newDay) : newDay;
     checkdate = checkdateYear+'-'+checkdateMonth+'-'+newDays;
     obj["scheduleData"] = checkdate
     params.push(obj);
   };
   console.log(params)
}

毫秒转日期函数

getFullDate(targetDate) {
        var D, y, m, d;
        if (targetDate) {
            D = new Date(targetDate);
            y = D.getFullYear();
            m = D.getMonth() + 1;
            d = D.getDate();
        } else {
            y = fullYear;
            m = month;
            d = date;
        }
        m = m > 9 ? m : '0' + m;
        d = d > 9 ? d : '0' + d;
        return y + '-' + m + '-' + d;
      }

标准时间转日期
1.不兼容IE

	  nowDateFun(){
        var dateStr = this.dateFormat('YYYY-mm-dd HH:MM:SS', 'Wed Aug 03 2022 09:36:47 GMT+0800 (中国标准时间)')
        console.log(dateStr)
      },
      dateFormat(fmt, date) {
        let ret = ''
        date = new Date(date)
        const opt = {
          'Y+': date.getFullYear().toString(), // 年
          'm+': (date.getMonth() + 1).toString(), // 月
          'd+': date.getDate().toString(), // 日
          'H+': date.getHours().toString(), // 时
          'M+': date.getMinutes().toString(), // 分
          'S+': date.getSeconds().toString() // 秒
          // 有其他格式化字符需求可以继续添加,必须转化成字符串
        }
        for (let k in opt) {
          ret = new RegExp('(' + k + ')').exec(fmt)
          if (ret) {
            fmt = fmt.replace(
              ret[1],
              ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
            )
          }
        }
        return fmt
      },

2.兼容IE

dateFormat(fmt,date){
        var d = new Date();
        date=date.toString();
        if(date){
          if(date.indexOf('T')==-1){
            try {
              date=date.replace(/-/g,"/"); //为了兼容IE
            } catch (error) {
              // console.error('timeFormatSeconds==',error)
            }
          } 
          d = new Date(date);
        }
        var year = d.getFullYear();
        var month = d.getMonth() + 1;
        var day = d.getDate();
        var hours = d.getHours();
        var min = d.getMinutes();
        var seconds = d.getSeconds();
        if (month < 10) month = '0' + month;
        if (day < 10) day = '0' + day;
        if (hours < 0) hours = '0' + hours;
        if (min < 10) min = '0' + min;
        if (seconds < 10) seconds = '0' + seconds;
        const opt = {
          'Y+': year.toString(), // 年
          'm+': month.toString(), // 月
          'd+': day.toString(), // 日
          'H+': hours.toString(), // 时
          'M+': min.toString(), // 分
          'S+': seconds.toString() // 秒
        }
        console.log(opt)
        let ret = "";
        for (let k in opt) {
          console.log(k)
            ret = new RegExp('(' + k + ')').exec(fmt)
            console.log(ret)
            if (ret) {
                fmt = fmt.replace(
                    ret[1],
                    ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
                )
            }
        }
        return fmt
    },

日期转毫秒

	nowDateFun(){
        var dateStr = new Date("2018/07/09 14:13:11").getTime()
        console.log(dateStr)
      },

两个日期时间的比较方法
第一种两个日期转换成毫秒

	nowDateFun(){
        var startTime = '2018-07-09 14:13:11'
        var endTime = '2018-08-09 14:13:11'
        startTime = new Date(startTime).getTime()
        endTime = new Date(endTime).getTime()
        if(startTime>endTime){
          console.log('1')
        }else{
          console.log('2')
        }
      },

第二种方法日期和时间去掉特殊字符

	nowDateFun(){
        var start= '2018-07-09 14:13:11'
        var end = '2018-08-09 14:13:11'
        var startDate = start.slice(0,10).replace(/-/g,"")
        var startTime = start.slice(11,18).replace(/:/g,"")
        var endDate = end.slice(0,10).replace(/-/g,"")
        var endTime = end.slice(11,18).replace(/:/g,"")
        start = startDate + startTime
        end = endDate + endTime
        if(start>end){
          console.log('1')
        }else{
          console.log('2')
        }
        console.log(start,end)
      },

日期增加一天:

     var dateValue = '2022-09-05 16:18:28'
     //转换成时区时间
     var newDateTime=new Date(dateValue)
     //增加一天
     newDateTime=newDateTime.setDate(newDateTime.getDate()+1);
     newDateTime=new Date(newDateTime);
     //转换时间 
     //调用时间转换函数this.dateFormat 在上面有时间转换函数
     newDateTime = this.dateFormat('YYYY-mm-dd HH:MM:SS', newDateTime)
     console.log(newDateTime)

日期减少一天

     var dateValue = '2022-09-05 16:18:28'
     //转换成时区时间
     var newDateTime=new Date(dateValue)
     //增加一天
     newDateTime=newDateTime.setDate(newDateTime.getDate()+1);
     newDateTime=new Date(newDateTime);
     //转换时间 
     //调用时间转换函数this.dateFormat 在上面有时间转换函数
     newDateTime = this.dateFormat('YYYY-mm-dd HH:MM:SS', newDateTime)
     console.log(newDateTime)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值