JS获取指定日期和当前日期关系(前天,昨天,今天,明天,后天 不需要ts格式
时间: 2024-10-07 10:01:56 浏览: 30
在JavaScript中,你可以使用`Date`对象以及一些算数运算来获取两个日期之间的相对关系。下面是一个简单的示例:
```javascript
function getRelativeDateString(dateString) {
const date = new Date(dateString);
const today = new Date();
// 计算差值(单位为毫秒)
const diff = Math.abs(today - date);
if (diff <= Date.MillisecondsPerDay) {
// 如果差值小于一天
switch (Math.floor(diff / Date.MillisecondsPerHour)) {
case 0:
return '今天';
case 1:
return '昨天';
default:
if (date.getHours() === today.getHours()) { // 同一小时内的情况
return '刚刚';
} else if (date.getDate() === today.getDate()) { // 昨日到今日
return `${diff > 0 ? '上午' : '下午'}${Math.floor(diff / Date.MillisecondsPerHour)}小时前`;
}
}
} else {
// 差值大于一天
let daysDiff = Math.ceil(diff / Date.MillisecondsPerDay);
if (daysDiff <= 2) {
return ['明天', '后天'][daysDiff - 1];
} else {
return `${daysDiff}天后`;
}
}
}
// 使用示例
console.log(getRelativeDateString('2023-04-05')); // 输出:昨天
```
这个函数首先将输入字符串转换为`Date`对象,然后计算与今天的差值,并基于差值返回相应的日期描述。
阅读全文