js中 两个日期 yyyy-MM-dd 格式的比较大小然后大的减去小的得到天数的编程算法
时间: 2024-10-09 21:01:44 浏览: 32
在JavaScript中,你可以使用内置的`Date`对象以及字符串处理函数来实现两个日期的比较和差值计算。以下是步骤:
1. 首先,你需要将`yyyy-MM-dd`格式的字符串转换成`Date`对象。可以使用`new Date(dateString)`来完成这个操作。
```javascript
function parseDateString(dateString) {
return new Date(dateString.replace(/-/g, '/').replace(/(\d{4})-(\d{2})-(\d{2})/, '$2/$3/$1'));
}
```
2. 然后,创建两个`Date`实例并进行比较。JavaScript的`>`和`<`运算符可以直接用于日期对象。
```javascript
function compareDates(date1Str, date2Str) {
const date1 = parseDateString(date1Str);
const date2 = parseDateString(date2Str);
if (date1 > date2) {
return Math.abs((date1 - date2) / (1000 * 60 * 60 * 24)); // 返回天数差
} else if (date1 < date2) {
return Math.abs((date2 - date1) / (1000 * 60 * 60 * 24));
} else {
return 0; // 如果相等则返回0
}
}
```
3. 最后,调用该函数并传递两个日期字符串作为参数,它会返回它们之间的天数差。
```javascript
let daysDiff = compareDates('2023-01-01', '2023-01-10');
console.log(daysDiff); // 输出9(假设今天是2023年1月1日)
```
阅读全文