java根据日期时间和现在时间对比如果没超过一分钟返回刚刚,一小时内返回相对多少分钟前,24小时内显示相对小时前,超过24小时显示对应多少天前
时间: 2024-03-12 14:47:07 浏览: 99
好的,针对你的问题,我可以给出以下 Java 代码示例:
```java
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class TimeCompare {
public static void main(String[] args) {
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
// 获取要对比的时间(这里用当前时间减去30秒作为示例)
LocalDateTime otherTime = now.minusSeconds(30);
// 计算时间差
Duration duration = Duration.between(otherTime, now);
if (duration.toMinutes() < 1) {
// 不到1分钟,返回“刚刚”
System.out.println("刚刚");
} else if (duration.toHours() < 1) {
// 不到1小时,返回相对分钟数
System.out.println(duration.toMinutes() + "分钟前");
} else if (duration.toDays() < 1) {
// 不到1天,返回相对小时数
System.out.println(duration.toHours() + "小时前");
} else {
// 超过1天,返回相对天数
System.out.println(duration.toDays() + "天前");
}
}
}
```
你可以根据需要将 `otherTime` 替换为你要对比的时间,这段代码会根据当前时间和对比时间的差值,输出对应的结果。注意,这里使用了 Java 8 中的新时间 API(`java.time` 包),需要保证你的 Java 版本在 JDK 1.8 及以上。
阅读全文