方法中用到了插件moment.js,使用day.js也是一样的。这两个时间工具超好用,不知道的快去了解一下,从此不需要new Date()。
moment官网地址:http://momentjs.cn/
day.js官网地址:https://dayjs.fenxianglu.cn/
它们两个的用法基本是一样的,学会一个就可以了。
效果如图:
先来描述一下需求:row中有开始时间,我需要用当前时间减去开始时间计算他们相差多少分钟。
html部分:
<vxe-column title="故障时长/m" width="120">
<template #default="{ row }">
<span>{{ handleTimeLength(row.happenTime) }}</span>
</template>
</vxe-column>
方法部分:
import moment from 'moment'
function handleTimeLength(time) {
let timeLength = moment().diff(time, "minutes");
return timeLength;
}
moment() - - - 获取当前时间
moment().diff('需要与之计算时间差的时间','类型') - - - 类型为minutes是计算两个时间相差多少分钟,hours是小时,days是天,seconds是分钟,看需求传参。
如果你想计算两个指定时间的差值 moment('时间1').diff('时间2','类型')
1
2
3
另外提一句 ,我这个function的写法是vue3.0的写法,vue2.0不需要加function,而且moment前面需要加this关键字哦。而且安装完moment之后不要忘记引入~
再提一句我的表格插件不是用的ant-design-vue自带的表格组件,用的是vxe-table这个组件库,这也是个宝藏组件库!!如果有想了解关于vxe-table的相关内容可以留言告诉我,看到会回复的。
vxe-table官网地址:https://xuliangzhan_admin.gitee.io/vxe-table
一定要学会moment!!!超级好用!! 觉得有用的话点个赞~