JS Date小知识

获取当前时间


 //获取当前时间
  nowTime() {
    let now = new Date();
    let _month =
      10 > now.getMonth() + 1 ? "0" + (now.getMonth() + 1) : now.getMonth() + 1;
    let _day = 10 > now.getDate() ? "0" + now.getDate() : now.getDate();
    let _hour = 10 > now.getHours() ? "0" + now.getHours() : now.getHours();
    let _minute =
      10 > now.getMinutes() ? "0" + now.getMinutes() : now.getMinutes();
    let _second =
      10 > now.getSeconds() ? "0" + now.getSeconds() : now.getSeconds();
    return(
      now.getFullYear() + "-" + _month +  "-" +  _day +   " " +  _hour +  ":" +    _minute +  ":" +   _second
    );
  }
  

获取某天日期

 /**
   * 获取某天日期
   * @param {Object} day
   */
  getDay: function(day) {
    var today = new Date();
    var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;
    today.setTime(targetday_milliseconds);

    const doHandleMonth = function(month) {
      var m = month;
      if (month.toString().length == 1) { m = "0" + month;}
      return m;
    };

    var tYear = today.getFullYear();
    var tMonth = today.getMonth();
    var tDate = today.getDate();
    var tWeek = today.getDay();
    var time = parseInt(today.getTime() / 1000);
    tMonth = doHandleMonth(tMonth + 1);
    tDate = doHandleMonth(tDate);

    const week = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
    return {
      t: time,
      y: tYear,
      m: tMonth,
      d: tDate,
      w: week[tWeek]
    };
  }

  

判断数据类型


//判断数据类型
  if (Object.prototype.toString.call(row) === '[object Array]') {
        undefined
        console.log('数据为数组类型')
      }
      if (Object.prototype.toString.call(row) === '[object Object]') {
        undefined
        console.log('数据为对象类型')
      }
      if (Object.prototype.toString.call(row) === '[object String]') {
        undefined
        console.log('数据为字符串类型')
      }

判断值是否在数组中

 /**
   * 判断值是否在数组中
   * @param {Object} elem
   * @param {Object} arr
   * @param {Object} i
   */
  inArray: function(elem, arr) {
    return arr == null ? -1 : arr.indexOf(elem);
  },

数值去重

/**
   * 数值去重
   * @param {Object} arr
   */
  unique(arr) {
    return Array.from(new Set(arr));
  },

是否存在数组中

 // if (this.changData.includes(row)) {
      //       console.log("我好像有");
      //   } else {
      //       console.log("我meiyou有我要加");
      //       this.changData.push(row)
      //   }

倒计时

/**
   * 倒计时
   * @param {Object} seconds 秒
   */
  countDown(seconds) {
    let [day, hour, minute, second] = [0, 0, 0, 0];
    if (seconds > 0) {
      day = Math.floor(seconds / (60 * 60 * 24));
      hour = Math.floor(seconds / (60 * 60)) - day * 24;
      minute = Math.floor(seconds / 60) - day * 24 * 60 - hour * 60;
      second =
        Math.floor(seconds) - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60;
    }
    if (day < 10) {
      // day = '0' + day
    }
    if (hour < 10) {
      // hour = '0' + hour
    }
    if (minute < 10) {
      // minute = '0' + minute
    }
    if (second < 10) {
      // second = '0' + second
    }
    return {
      d: day,
      h: hour,
      i: minute,
      s: second
    };
  },

js 去除日期月份前的0

     // 去除0 参数 日期 如 2020-07-08 返回为 2020-7-8
     dislodgeZero(str) {
      let strArray = str.split("-");
      strArray = strArray.map(function(val) {
        if (val[0] == "0") {
          return (val = val.slice(1));
        } else {
          return val;
        }
      });
      return strArray.join("-");
    },

输入某一天日期,获取该日所在周的所有日期

  /**
   * @description: 输入某一天日期,获取该日所在周的所有日期
   * @param {String}
   * @return: 数组
   */
  getEntireWeek(input_day) {
    // 一天里一共的毫秒数
    let oneDayTime = 1000 * 60 * 60 * 24;
    let today = new Date(input_day);
    // 若那一天是周末时,则强制赋值为7
    let todayDay = today.getDay() || 7;
    let startDate = new Date(today.getTime() - oneDayTime * todayDay);
    let dateList = new Array();
    for (let i = 0; i < 7; i++) {
      let temp = new Date(startDate.getTime() + i * oneDayTime);
      let year = temp.getFullYear();
      let month = (temp.getMonth() + 1).toString().padStart(2, "0");
      let day = temp
        .getDate()
        .toString()
        .padStart(2, "0");
      dateList[i] = `${year}-${month}-${day}`;
    }
    return dateList;
  },

时间戳转日期格式

  /**
   * 时间戳转日期格式
   * @param {Object} timeStamp
   */
  timeStampTurnTime(timeStamp) {
    if (timeStamp > 0) {
      var date = new Date(timeStamp);
      // date.setTime(timeStamp * 1000);
      var y = date.getFullYear();
      var m = date.getMonth() + 1;
      m = m < 10 ? "0" + m : m;
      var d = date.getDate();
      d = d < 10 ? "0" + d : d;
      var h = date.getHours();
      h = h < 10 ? "0" + h : h;
      var minute = date.getMinutes();
      var second = date.getSeconds();
      minute = minute < 10 ? "0" + minute : minute;
      second = second < 10 ? "0" + second : second;
      return y + "-" + m + "-" + d + " " + h + ":" + minute + ":" + second;
    } else {
      return "";
    }
  },

js获取两个时间段之间的所有时间


getTwoTimeList(beginTime, endTime) {
	let intervaltime = (new Date(endTime).getTime() - new Date(beginTime).getTime()) / 1000;
    let timeList = [];
    for (let i = 0; i < intervaltime + 1; i++) {
        let time = new Date(beginTime).getTime() + i * 1000;
        timeList.push(time);
    }
    return timeList.map(function (item, index, input) {
    	let date = new Date(item + 8 * 3600 * 1000);
    	// 这里的 - 可以按照需要改为 /. 等等其他符号
    	return date.toJSON().substr(0, 19).replace('T', ' ').replace(/-/g, '-');
    })
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值