前端工具方法

获取随机字符串值

randomString(len) {
    len = len || 32;
    /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
    var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
    var maxLen = $chars.length;
    var str = '';
    for (var i = 0; i < len; i++) {
      str += $chars.charAt(Math.floor(Math.random() * maxLen));
    }
    return str;
  },

时间戳转换各种时间格式

  timestampToTime(sj, type = 1, outType) {
    if (sj.toString().length === 10) {
      sj = sj * 1000
    }
    var today = new Date();
    var now = new Date(sj);
    var year = now.getFullYear();
    var toYear = today.getFullYear();
    var month = now.getMonth() + 1;
    month = month < 10 ? `0${month}` : month;
    var toMonth = today.getMonth() + 1;
    var date = now.getDate();
    date = date < 10 ? `0${date}` : date;
    var toDate = today.getDate();
    var hour = now.getHours();
    hour = hour < 10 ? `0${hour}` : hour;
    var minute = now.getMinutes();
    minute = minute < 10 ? `0${minute}` : minute;
    let second = now.getSeconds();
    second = second < 10 ? `0${second}` : second;
    var time;
    switch (type) {
      case 1: //年月日时分秒
        time = year + '-' + month + '-' + date + '   ' + hour + ':' + minute + ':' + second;
        break;
      case 2: //年月日
        time = year + '-' + month + '-' + date + ' ';
        break;
      case 3: //月日时分
        time = month + '-' + date + '   ' + hour + ':' + minute + ' ';
        break;
      case 4: //时分
        time = hour + ':' + minute + ' ';
        break;
      case 5: //年月日
        time = year + '年' + month + '月' + date + '日';
        break;
      case 6: //年月日
        time = year == toYear && month == toMonth && date == toDate ? `${hour}:${minute}` :
          `${year}年${month}年${date}日 ${hour}:${minute}`;
        break;
      case 7: //年月日
        time = month + '月' + date + '日   ' + hour + ':' + minute;
        break;
      case 8: //月日
        time = month + '.' + date + ' ';
        break;
      case 9:
        time = year + '.' + month + '.' + date;
        break;
      case 10: //年月
        time = year + '年' + month + '月';
        break;
      case 11: //年月
        time = year + '/' + month + '/' + date;
        break;
      case 12: //年 月
        time = year + '-' + month;
        break;
      case 13: //年月日
        time = year + '年' + month + '月' + date + '日   ' + hour + ':' + minute;
        break;
    }
    if (!outType) {
      return time
    }
    //时间转化为几天前,几小时前,几分钟前
    var minutes = 1000 * 60;
    var hours = minutes * 60;
    var day = hours * 24;
    var halfamonth = day * 15;
    var months = day * 30;
    var nows = new Date().getTime();
    var diffValue = nows - sj;
    if (diffValue < 0) {
      return;
    }
    var monthC = diffValue / months;
    var weekC = diffValue / (7 * day);
    var dayC = diffValue / day;
    var hourC = diffValue / hours;
    var minC = diffValue / minutes;
    let result = ''
    // if(monthC>=1){
    //   return result="" + parseInt(monthC) + "月前";
    // }else if(weekC>=1){
    //   console.log(dayC)
    //   return result="" + parseInt(weekC) + "周前";
    // }
    if (dayC > 30) {
      return time;
    } else if (dayC >= 1) {
      return result = "" + parseInt(dayC) + "天前";
    } else if (hourC >= 1) {
      return result = "" + parseInt(hourC) + "小时前";
    } else if (minC >= 1) {
      return result = "" + parseInt(minC) + "分钟前";
    } else if (minC < 1) {
      return result = "刚刚";
    }
  },

距离换算单位

  kilometre(m) {
    let result = ''
    if (m >= 1000) {
      m = m / 1000
      return result = parseInt(m) + "km";
    }
    return result = parseInt(m) + "m";
  },

时间换算

  toTime(ms) {
    let min = Math.floor((ms / 1000 / 60) << 0);
    let sec = Math.floor((ms / 1000) % 60);
    return min + ':' + sec;
  },

获取元素的详细信息

  getElSize(name) {
    return new Promise((res, rej) => {
      const query = uni.createSelectorQuery()
      query.select('.' + name).boundingClientRect()
      query.exec(function(data) {
        res(data[0]);
      })
    });
  },

时间换算

  formatTime(time) {
    if (typeof time !== 'number' || time < 0) {
      return time
    }
    var hour = parseInt(time / 3600)
    time = time % 3600
    var minute = parseInt(time / 60)
    time = time % 60
    var second = time

    return ([hour, minute, second]).map(function (n) {
      n = parseInt(n)
      return n[1] ? n[2]? n : '0' + n : n
    }).join(':')
  }

其它前端工具方法

https://zhuanlan.zhihu.com/p/143648922

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值