vue中,时间是这种格式12:55。只有小时和分钟,这种格式的时间怎么做比较?判断谁大谁小
function compareTime(time1, time2) {
const [hour1, minute1] = time1.split(':');
const [hour2, minute2] = time2.split(':');
const totalMinutes1 = Number(hour1) * 60 + Number(minute1);
const totalMinutes2 = Number(hour2) * 60 + Number(minute2);
if (totalMinutes1 > totalMinutes2) {
return 1;
} else if (totalMinutes1 < totalMinutes2) {
return -1;
} else {
return 0;
}
}
// 示例使用 返回值为1、-1或0,分别表示第一个时间大于、小于或等于第二个时间。
console.log(compareTime('12:55', '13:30')); // -1
console.log(compareTime('14:20', '12:45')); // 1
console.log(compareTime('9:00', '9:00')); // 0
小魔女参考了bing和GPT部分内容调写:
在Vue中,可以使用JavaScript的Date对象来对时间进行比较。首先,我们需要将格式为12:55的时间转换为Date对象,可以使用new Date()方法,传入一个字符串参数,格式为'hh:mm',如:
let time1 = new Date('12:55');
let time2 = new Date('13:00');
接下来,我们可以使用getTime()方法来获取时间的毫秒数,然后进行比较:
let time1_ms = time1.getTime();
let time2_ms = time2.getTime();
if (time1_ms > time2_ms) {
console.log('time1大于time2');
} else if (time1_ms < time2_ms) {
console.log('time1小于time2');
} else {
console.log('time1等于time2');
}
另外,也可以使用getHours()和getMinutes()方法来获取时间的小时和分钟,然后进行比较:
let time1_hour = time1.getHours();
let time1_minute = time1.getMinutes();
let time2_hour = time2.getHours();
let time2_minute = time2.getMinutes();
if (time1_hour > time2_hour) {
console.log('time1大于time2');
} else if (time1_hour < time2_hour) {
console.log('time1小于time2');
} else {
if (time1_minute > time2_minute) {
console.log('time1大于time2');
} else if (time1_minute < time2_minute) {
console.log('time1小于time2');
} else {
console.log('time1等于time2');
}
}
总之,在Vue中,可以使用JavaScript的Date对象来对时间进行比较,可以使用getTime()方法来获取时间的毫秒数,也可以使用getHours()和getMinutes()方法来获取时间的小时和分钟,然后进行比较。
回答不易,记得采纳呀。
可以在前面任意拼一个日期,然后用moment.js 时间日期处理库,一步搞定,截图如下
day.js\moment.js 不过现在用前者的多 。不想引入库的话,就用js 的方法,转换毫秒数比较 。如果你项目里 很多日期 处理 ,建议引入一个库 。
https://dayjs.fenxianglu.cn/category/#node-js