js原生方法截取网址中的url传参,进行时间格式化某某某时间之前等等函数方法

227 阅读1分钟

例如一个url是这样的 m.cmstop.baotounews.102.autops.xyz/fazak/h5/pr…

created() {
this.originUrl = window.location.origin
this.problemID = this.getUrlParams('question_id') //问题id  传入到对应的content_id
this.site_id = this.getUrlParams('site_id') //站点id
}
getUrlParams(type) {
  var url = window.location.href //获取当前url
  var cs = url.split('?')[1] //获取?之后的参数字符串
  var cs_arr = cs.split('&') //参数字符串分割为数组
  var cs = {}
  for (var i = 0; i < cs_arr.length; i++) {
    //遍历数组,拿到json对象
    cs[cs_arr[i].split('=')[0]] = cs_arr[i].split('=')[1]
  }
  return cs[type]
},
比如返回的是个时间戳 并且返回的是个少000的时间戳

getTime(stringTime) {
  var minute = 1000 * 60
  var hour = minute * 60
  var day = hour * 24
  var halfamonth = day * 15
  var month = day * 30
  var diffValue = new Date().getTime() - new Date(parseInt(stringTime + '000')).getTime()
  if (diffValue < 0) {
    return
  }
  var monthC = diffValue / month
  var weekC = diffValue / (7 * day)
  var dayC = diffValue / day
  var hourC = diffValue / hour
  var minC = diffValue / minute
  var result = ''
  if (monthC >= 1 && monthC < 12) {
    result = '' + parseInt(monthC) + '个月前'
  } else if (monthC >= 12) {
    result = '1年前'
  } else if (weekC >= 1) {
    result = '' + parseInt(weekC) + '周前'
  } else if (dayC >= 1) {
    result = '' + parseInt(dayC) + '天前'
  } else if (hourC >= 1) {
    result = '' + parseInt(hourC) + '小时前'
  } else if (minC >= 1) {
    result = '' + parseInt(minC) + '分钟前'
  } else {
    result = '刚刚'
  }
  return result
},