Vue el-table组件如何实现将日期格式化

 更新时间:2023年04月13日 09:15:45   作者:Hemist  
这篇文章主要介绍了Vue el-table组件如何实现将日期格式化问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue el-table组件将日期格式化

项目需要实现一个将后端时间数据显示在前端 Table 中的场景,但后端响应的数据并不是我们想要的规范格式,因此,需要前端来格式化这个时间变量。

从后端拿到的数据如下所示。

{
    // 省略不必要的字段;
    "created_at": "2022-07-08T08:58:08+0000",
    "updated_at": "2022-07-08T08:58:10+0000",
    // 省略不必要的字段
}

这种时间格式来自于国际标准化组织的国际标准——ISO 8601,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》。

原文规定了标准的日期-时间表示方法,即,当日期和实践合并表示时,需要在时间前面加一大写字母T,如要表示北京时间2004年5月3日下午5点30分8秒,可以写成 2004-05-03T17:30:08+08:00 或 20040503T173008+08。

格式化时间字符串的 js 方法如下所示:

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()
}

当然,在表格中需要双向绑定一下。

<el-table>
    <el-table-column
        label="提交时间"
        min-width="15%"
        align="center"
        prop="createdTime"
        :formatter="formatDate">
    </el-table-column>
</el-table>

这样一来,时间就可以正常显示了。

vue对时间进行格式化输出,以el-table为例

后端返回的时间数据格式为:

2022-07-05T09:57:39.000Z

需要格式化为:

2018-08-07 00:00:00

解决方法

安装dayjs包

npm install dayjs -s

在需要格式化时间的页面引入,也可以全局引入,我这里在单页面引入:

import dayjs from "dayjs"

在methods中写一个转换方法:

methods:{
 timeTranslate (val) {
    return dayjs(val).format('YYYY-MM-DD HH:mm:ss')
 },
}

这里我是放在el-table中显示的

            <el-table-column label="协议创建时间" align="center"  prop="createdAt" width="200%">
                        
              <template slot-scope="scope">
                {{timeTranslate(scope.row.createdAt)}}
              </template>
                    </el-table-column>

成功显示 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Vue返回值动态生成表单及提交数据的办法

    详解Vue返回值动态生成表单及提交数据的办法

    这篇文章主要为大家介绍了Vue返回值动态生成表单及提交数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • vue 使用 echarts 绘制中国地图的实现代码

    vue 使用 echarts 绘制中国地图的实现代码

    这篇文章主要介绍了vue 使用 echarts 绘制中国地图,内容包括插入echarts所需模块及完整的代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • 全面详解vue种数组去重的12种方法示例

    全面详解vue种数组去重的12种方法示例

    这篇文章主要介绍了vue数组去重的12种方法示例全面详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Vue.js之mixins混合组件详解

    Vue.js之mixins混合组件详解

    这篇文章主要介绍了Vue.js之mixins混合组件详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • Vue源码中要const _toStr = Object.prototype.toString的原因分析

    Vue源码中要const _toStr = Object.prototype.toString的原因分析

    这篇文章主要介绍了Vue源码中要const _toStr = Object.prototype.toString的原因分析,在文中给大家提到了Object.prototype.toString方法的原理,需要的朋友可以参考下
    2018-12-12
  • Vue发送Formdata数据及NodeJS接收方式

    Vue发送Formdata数据及NodeJS接收方式

    这篇文章主要介绍了Vue发送Formdata数据及NodeJS接收方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • vue自定义一个v-model的实现代码

    vue自定义一个v-model的实现代码

    这篇文章主要介绍了vue自定义一个v-model的实现代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • vue路由缓存的几种实现方式小结

    vue路由缓存的几种实现方式小结

    这篇文章主要介绍了vue路由缓存的几种实现方式,结合实例形式详细分析了vue.js路由缓存常见实现方式、使用技巧与操作注意事项,需要的朋友可以参考下
    2020-02-02
  • vue 实现滑动块解锁示例详解

    vue 实现滑动块解锁示例详解

    这篇文章主要为大家介绍了vue 实现滑动块解锁示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • vue中echarts关系图动态增删节点以及连线方式

    vue中echarts关系图动态增删节点以及连线方式

    这篇文章主要介绍了vue中echarts关系图动态增删节点以及连线方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论