1. 效果图:

vue中时间格式转化问题_格式化时间

  1. 需求:前台展示一律用的时间规格:yyyy-MM-dd HH:mm:SS,即要求月日时分秒小于两位数的都要补0,这样显得整体化一。所以下面就是专门对月日时分秒小于10时做补0的处理,实际刚开始想到的就是直接挨个判断月日时分秒
  2. ①写在公共方法里

        可以在工具文件夹底下新建一个data.js,如下:

vue中时间格式转化问题_javascript_02

 

代码部门:

其中Vue.prototype是将formatDate这个方法设置问全局方法,这样就都可以调用了,注意方法名名为formatDate,后面用

/**
 * Created by syp on 2020/5/15.
 */
 
exports.install = function (Vue, options) {
  Vue.prototype.formatDate = function (row, column) {
    let data = row[column.property]
    if (data == null) {
      return null
    }
    let dt = new Date(data)
    let yyyy = dt.getFullYear()
    let MM = (dt.getMonth() + 1).toString().padStart(2, '0')
    let dd = dt.getDate().toString().padStart(2, '0')
    let h = dt.getHours().toString().padStart(2, '0')
    let m = dt.getMinutes().toString().padStart(2, '0')
    let s = dt.getSeconds().toString().padStart(2, '0')
    return yyyy + '-' + MM + '-' + dd + ' ' + h + ':' + m + ':' + s
  }
}

处理好data.js后,再在公共js中调用一下,设置为全局的,这样大家就都可以用了

vue中时间格式转化问题_Vue_03

 然后在vue页面进行调用图: :formatter="formatDate"

 formatDate就是设置为全局方法的方法名 

vue中时间格式转化问题_格式化时间_04

②将它只是变为局部的格式化时间调用,那么就需要把格式化时间的代码放在调用页面的方法中一下这个方法只需要放在本页面的method底下就好了

formatDate (row, column) {
        let data = row[column.property]
        if (data == null) {
          return null
        }
        let dt = new Date(data)
        return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds()
      },

在列表展示的熟悉中运用和上面一样都用:formatter="formatDate"就ok了。

图示:

vue中时间格式转化问题_格式化时间_05