今天,昨天,三天前计算

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date date = df.parse(dates);
Calendar old = Calendar.getInstance();
old.setTime(date);
Calendar today = Calendar.getInstance();
today.set(Calendar.HOUR, 0);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);
old.set(Calendar.HOUR, 0);
old.set(Calendar.MINUTE, 0);
old.set(Calendar.SECOND, 0);
// 老的时间减去今天的时间
long intervalMilli = old.getTimeInMillis() - today.getTimeInMillis();
int xcts = (int) (intervalMilli / (24 * 60 * 60 * 1000));
//  -2:三天 -1:昨天 0:今天
if (xcts >= 20 && xcts <= 0) {
System.out.println(String.valueOf(xcts));
return xcts;
} else {
System.out.println("一月前");
return 1;
}
### dayjs 判断日期是否为今天昨天或 30 天内 Day.js 提供了丰富的 API 来处理和比较日期,可以轻松实现判断某个日期是否是“今天”、“昨天”或在“30 天内”的需求。以下分别介绍这三种情况的实现方式,并结合代码示例进行说明。 #### 判断日期是否为今天 Day.js 提供了 `isToday()` 方法,用于判断一个日期对象是否表示今天的日期。该方法返回布尔值: ```javascript import dayjs from 'dayjs'; const targetDate = dayjs('2025-04-05'); // 替换为任意日期 const isToday = targetDate.isToday(); console.log(`是否是今天: ${isToday}`); ``` 此方法内部会自动忽略时间部分,仅比较年、月、日部分是否一致[^1]。 #### 判断日期是否为昨天 Day.js 并未直接提供 `isYesterday()` 方法,但可以通过与当日期减去一天后进行比较来实现: ```javascript const isYesterday = targetDate.isSame(dayjs().subtract(1, 'day'), 'day'); console.log(`是否是昨天: ${isYesterday}`); ``` 该方法使用 `isSame()` 比较两个日期是否处于同一天,并传入 `'day'` 参数确保只比较年、月、日部分。 #### 判断日期是否在 30 天内 要判断一个日期是否在最近 30 天内(包括今天),可以使用 `diff()` 方法计算两个日期之间的天数差: ```javascript const daysDiff = dayjs().diff(targetDate, 'day'); const isInLast30Days = daysDiff >= 0 && daysDiff <= 30; console.log(`是否在 30 天内: ${isInLast30Days}`); ``` 其中 `diff()` 返回的是两个日期之间以天为单位的差值,通过判断其是否在 0 到 30 的范围内即可确定是否属于最近 30 天内。 --- ### 完整示例代码 将上述逻辑整合成一个函数,用于判断目标日期是否是今天昨天或在 30 天内: ```javascript function checkDateStatus(dateString) { const targetDate = dayjs(dateString); const today = dayjs(); const isToday = targetDate.isToday(); const isYesterday = targetDate.isSame(today.subtract(1, 'day'), 'day'); const daysDiff = today.diff(targetDate, 'day'); const isInLast30Days = daysDiff >= 0 && daysDiff <= 30; return { isToday, isYesterday, isInLast30Days }; } // 使用示例 const result = checkDateStatus('2025-03-20'); console.log(result); ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ada

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值