微信小程序FromDate('yyyy-MM-dd')时间转换

1,886 阅读1分钟

小程序中,想把时间转化为想要的格式有很多种方法 但我觉得下面这种才是最为有效的,你可以写在wxs中,也可以写在js中。

const FromDate = (date, fmt)=> {
  date  = new Date(date)
  if(/(y+)/.test(fmt)){
    fmt = fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4-RegExp.$1.length))
  }

  let obj = {
    "M+": date.getMonth() + 1,
    "d+": date.getDay(),
    "h+": date.getHours(),
    "m+": date.getMinutes(),
    "s+": date.getSeconds()
  }

  for(let key in obj){
    if(new RegExp(`(${key})`).test(fmt)){
      let str = obj[key] + ''
      fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str))
    }
  }
  return fmt
}

在需要转化的时间上,使用即可

const fmtDate = FromDate(date, 'yyyy-MM-dd hh:mm:ss')