js 方法,时间戳转时区

186 阅读1分钟
var utils = {

  ua: navigator.userAgent.toLowerCase(),

  TimestampToLocaleTime: function (UTCtimestamp) {
    if (!UTCtimestamp) return ''
    function format (d) {
      return d.toString().length > 1 ? d : '0' + d// 如果两位数的数据直接返回,不然前面加上0
    }
    var Y, M, D, h, m, s, date
    date = new Date(UTCtimestamp)
    Y = date.getFullYear()
    M = format(date.getMonth() + 1)
    D = format(date.getDate())
    h = format(date.getHours())
    m = format(date.getMinutes())
    s = format(date.getSeconds())

    return D + '-' + M + '-' + Y + ' ' + h + ':' + m + ':' + s
  },

  
  /**
   * 根据用户传的关键字去地址栏里的查询字符串进行对比,该关键字对应的值
   */
  getParam: function (name) {
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
    var r = window.location.search.substr(1).match(reg)
    if (r !== null) return unescape(r[2])
    return null
  },
  

  /**
   * 对日期进行转换,end是 true的话加后缀
   */
  transDate: function (dat, end) {
    if (dat) {
      const date = new Date(dat)
      const myDate = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()
      if (end) {
        return myDate + ' ' + '23:59:59'
      } else {
        return myDate
      }
    }
    return
  },
 
  isInteger: function (s) {
    return /^\d+$/.test(s)
  },
  // 整数 或者 小数精确后两位
  isAmount: function (amount) {
    var reg = /^\d+(\.\d{1,2})?$/
    return reg.test(amount)
  },
  isDouble: function (value) {
    return /^\d+(\.\d+)?$/.test(value)
  },
  isOneDecimal: function (value) {
    return /^\d{1,10}(\.\d{1})?$/.test(value)
  },
  isMobile: function (mobile) {
    return /^1[3|4|5|7|8]\d{9}$/.test(mobile)
  },
  checkBankNum: function (bankNum) {
    var reg = /^\d{15,19}$/
    return reg.test(bankNum)
  },
  checkID: function (id) {
    var reg = /^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/
    return reg.test(id)
  },
 
  // 必须是小数,整数不行,0到1之间,小数点后最多4位
  mustDouble: function (num) {
//  var reg = /^\d+.\d+$/;
    var reg = /^\d+(\.\d{1,4})?$/
    return reg.test(num) && (parseFloat(num) > 0) && (parseFloat(num) < 1)
  },
  validateIntager: (rule, value, callback) => {
    if (value && !utils.isInteger(value)) {
      callback(new Error('请输入整数'))
      return
    }
    callback()
  },
  validateDouble: (rule, value, callback) => {
    if (value && !utils.mustDouble(value)) {
      callback(new Error('请输入0到1之间的小数,小数点后最多4位'))
      return
    }
    callback()
  },
  validateMobile: (rule, value, callback) => {
    if (value && !utils.isMobile(value)) {
      callback(new Error('请输入正确的手机号码'))
      return
    }
    callback()
  },
  validateCardId: (rule, value, callback) => {
    if (value && !utils.checkID(value)) {
      callback(new Error('请输入正确的身份证号'))
      return
    }
    callback()
  },
  validateCardNum: (rule, value, callback) => {
    if (value && !utils.checkBankNum(value)) {
      callback(new Error('请输入正确的银行卡号'))
      return
    }
    callback()
  },
  validatePassword: (rule, value, callback) => {
    if (value === '') {
      callback(new Error('请输入新密码'))
      return
    }
    if (!utils.isPassword(value)) {
      callback(new Error('新密码格式不正确'))
      return
    }
    callback()
  },
  validateRegion: (rule, value, callback) => {
    if (!value.province.length) {
      callback(new Error('请选择省份'))
      return
    }
    if (!value.city.length) {
      callback(new Error('请选择城市'))
      return
    }
    // if (!value.district.length) {
    //   callback(new Error('请选择地区'))
    //   return
    // }
    callback()
  },
  
  validateFullRegion: (rule, value, callback) => {
    if (!value.province.length) {
      callback(new Error('请选择省份'))
      return
    }
    if (!value.city.length) {
      callback(new Error('请选择城市'))
      return
    }
    if (!value.district.length) {
      callback(new Error('请选择地区'))
      return
    }
    callback()
  },
 
 

  // 正则数字从后往前每三位加小数点
  tranFormAmount(value) {
    if ((value + '').length < 4) {
      return value
    }
    return (value + '').replace(/(?=(?:\d{3})+(?!\d))/g, '.').replace(/^\./g, '')
  },
 
 
}
export default utils