UniApp 日期比较为何错误?详解字符串比较陷阱
在 UniApp 中,直接对日期字符串进行比较时,实际上是按照字符串的字典顺序进行比较。这会导致看似合理的日期比较出现错误结果。例如,'2023/10/27 15:26:29' 在字典顺序上排在 '2023/8/21 17:43:20' 之后,因此比较结果为 false。
为了正确比较日期大小,需要将日期字符串转换为 Date 对象,然后进行比较。例如:
var date1 = new Date('2023/10/27 15:26:29');
var date2 = new Date('2023/8/21 17:43:20');
if (date1 > date2) {
console.log('date1 大于 date2');
} else if (date1 < date2) {
console.log('date1 小于 date2');
} else {
console.log('date1 等于 date2');
}
通过将日期字符串转换为 Date 对象,可以避免字符串比较的陷阱,确保日期比较结果的准确性。
原文地址: https://www.cveoy.top/t/topic/qqh5 著作权归作者所有。请勿转载和采集!