1.时间类型
需求:判断 mm:ss 类型时间哪个在前哪个在后。
2.比较时间
dayjs 没有判断这类型时间前后的API,可以在时分前面拼上当前的日期;使用 dayjs 的isAfter() /isBefore() 方法比较当前时间是否与某个时间相等或者在某时间之后;
isSameOrAfter 需要在使用前引入并注入到 dayjs,如下图:
2.1 引入 dayjs
import dayjs from "dayjs";
2.2 比较时间
/**
firstTime--08:30
secondTime--08:30 or 08:50(或者更后面的时间)
*/
judegeTime(firstT, secondT) {
// 获取当前日期并格式化 2024-05-07
let currentDate = dayjs().format("YYYY-MM-DD");
// 前一个时间
let firstTime = currentDate + "" + firstT;
// 等于前一个时间或者在前一个时间后面的时间
let secondTime = currentDate + "" + secondT;
// 等于或者在后面-返回 boolean 值 true 反之返回 false
let timeFlag = dayjs(secondTime).isAfter(secondTime);
return timeFlag;
},
submit() {
if (!judegeTime(this.firstTime,this.secondTime)) {
this.$message({
message: "开始时间不能在结束时间之后",
type: "warning",
});
// ...将后面的时间初始化
}
},
比较完成后可以给用户对应的提示词。