js如何判断时间字符串'2023-01-12 09:23'比时间字符串'2023-01-13 01:45'是否小于半个小时
时间: 2023-05-30 07:05:16 浏览: 120
可以将时间字符串转换为时间戳,然后计算两个时间戳之间的差值,再将差值转换为分钟数,最后判断是否小于半个小时的分钟数(即30分钟)。
具体实现如下:
```javascript
// 时间字符串转时间戳
function getTimeStamp(timeStr) {
return new Date(timeStr.replace(/-/g, '/')).getTime();
}
// 判断时间差是否小于半个小时
function isLessThanHalfHour(timeStr1, timeStr2) {
const timeStamp1 = getTimeStamp(timeStr1);
const timeStamp2 = getTimeStamp(timeStr2);
const diff = Math.abs(timeStamp2 - timeStamp1);
const diffMinutes = Math.floor(diff / 1000 / 60);
return diffMinutes < 30;
}
// 示例
const result = isLessThanHalfHour('2023-01-12 09:23', '2023-01-13 01:45');
console.log(result); // true
```
首先定义了一个`getTimeStamp`函数,用于将时间字符串转换为时间戳。其中,由于部分浏览器不支持`'-'`作为日期分隔符,所以需要将`'-'`替换为`'/'`。
然后定义了一个`isLessThanHalfHour`函数,用于判断两个时间字符串之间的时间差是否小于半个小时。首先获取两个时间字符串的时间戳,再计算它们之间的差值(取绝对值),最后将差值转换为分钟数。如果分钟数小于30,则返回`true`,否则返回`false`。
最后给出一个示例,将`'2023-01-12 09:23'`和`'2023-01-13 01:45'`作为参数传入`isLessThanHalfHour`函数,得到结果`true`。
阅读全文