现在有一个需求,需要根据创建时间来做展示,如果创建时间在一分钟内,就按秒显示,显示多少秒前,如果创建时间在一小时内,就按照分钟显示,显示在多少分钟前,如果创建时间在一天内,就按小时显示,显示在多少小时内,如果创建时间在一个月内,就按天显示,显示在多少天前,超过六个月,则显示更久之前,请按照上述需求给出java代码示例
时间: 2023-12-04 16:02:50 浏览: 96
好的,以下是一个简单的Java代码示例,可以根据需求进行调整:
```java
import java.time.Duration;
import java.time.LocalDateTime;
public class TimeDisplay {
public static void main(String[] args) {
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
// 假设创建时间为1小时前
LocalDateTime createTime = now.minusHours(1);
// 计算时间差
Duration duration = Duration.between(createTime, now);
long seconds = duration.getSeconds();
if (seconds < 60) {
System.out.println(seconds + "秒前");
} else if (seconds < 60 * 60) {
long minutes = seconds / 60;
System.out.println(minutes + "分钟前");
} else if (seconds < 60 * 60 * 24) {
long hours = seconds / (60 * 60);
System.out.println(hours + "小时前");
} else if (seconds < 60 * 60 * 24 * 30) {
long days = seconds / (60 * 60 * 24);
System.out.println(days + "天前");
} else {
System.out.println("更久之前");
}
}
}
```
其中,我们使用了Java8的新特性`LocalDateTime`和`Duration`,通过计算时间差来实现需求。
阅读全文