timeComparison(row) {
const now = new Date();
const activeTime = new Date(row.activeTime);
const activeTimeEnd = new Date(row.activeTimeEnd);
if (now < activeTime) {
return "未开始";
} else if (now > activeTimeEnd) {
return "已结束";
} else {
return "进行中";
}
},
getStatusStyle(row) {
const status = this.timeComparison(row);
if (status === "未开始") {
return {color: "#00fc8c"}; // 绿色
} else if (status === "已结束") {
return {color: "#fa4b4b"}; // 红色
} else {
return {color: "#8eaef3"}; // 褐色
}
},
<el-table-column label="活动状态" align="center">
<template slot-scope="scope">
<div :style="getStatusStyle(scope.row)">{{ timeComparison(scope.row) }}</div>
</template>
</el-table-column>
提取时间 时分秒
// 获取当前时间
const currentDateTime = new Date();
// 获取小时、分钟和秒
const hours = currentDateTime.getHours().toString().padStart(2, '0');
const minutes = currentDateTime.getMinutes().toString().padStart(2, '0');
const seconds = currentDateTime.getSeconds().toString().padStart(2, '0');
// 格式化为 "时-分-秒" 的形式
const formattedTime = `${hours} : ${minutes} : ${seconds}`;
this.form.hoursSeconds = formattedTime
this.form.dateAndWeek = this.form.fillingDate + " " + this.form.week
工具类提取年月日
const currentDateTime = new Date(item.fillingDate);
item.fillingDate = this.dateUtils.formatterDate(currentDateTime, "yyyy-MM-dd")
下面是工具类
export default {
// 格式化日期
formatterDate(val, format) {
var date = val
var seperator1 = "-"
var seperator2 = ":"
var month = date.getMonth() + 1
var strDate = date.getDate()
if (month >= 1 && month <= 9) {
month = "0" + month
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate
}
if (format === "yyyy") {
return date.getFullYear()
} else if (format === "yyyy-MM") {
return date.getFullYear() +
seperator1 +
month
} else if (format === "yyyy-MM-dd") {
return date.getFullYear() +
seperator1 +
month +
seperator1 +
strDate
} else if (format === "yyyyMMdd") {
return date.getFullYear() + "" +
month + "" +
strDate
} else if (format === "yyyyMMddHHmmss") {
return date.getFullYear() + "" +
month + "" +
strDate + "" +
date.getHours() + "" +
date.getMinutes() + "" +
date.getSeconds()
} else {
return date.getFullYear() +
seperator1 +
month +
seperator1 +
strDate +
" " +
date.getHours() +
seperator2 +
date.getMinutes() +
seperator2 +
date.getSeconds()
}
},
// 计算与当前日期差
getDataDifference(date) {
let dat = date
let getYeardata = dat.split(" ")[0]
let getTimedata = dat.split(" ")[1]
// 年月日 时分秒
let beforeYear = getYeardata.split("-")[0]
let beforeMonth = getYeardata.split("-")[1]
let beforeDate = getYeardata.split("-")[2]
let beforeHours = getTimedata.split(":")[0]
let beforeMinutes = getTimedata.split(":")[1]
let beforeSeconds = getTimedata.split(":")[2]
let myDate = new Date()
// 计算差值
let getDifference = (myDate.getFullYear() - beforeYear) * 365 * 24 * 60 * 60 +
(myDate.getMonth() - beforeMonth + 1) * 30 * 24 * 60 * 60 +
(myDate.getDate() - beforeDate) * 24 * 60 * 60 +
(myDate.getHours() - beforeHours) * 60 * 60 +
(myDate.getMinutes() - beforeMinutes) * 60 +
(myDate.getSeconds() - beforeSeconds)
if (getDifference <= 60) {
getDifference += "秒前"
} else if (getDifference <= 3600) {
getDifference = parseInt(getDifference / 60)
getDifference += "分前"
} else if (getDifference <= 86400) {
getDifference = parseInt(getDifference / 60 / 60)
getDifference += "小时前"
} else if (Number(myDate.getFullYear()) === Number(beforeYear)) {
return beforeMonth + "-" + beforeDate
} else {
return this.formatterDate(new Date(date))
}
return getDifference
},
}