传入时间戳通过LocalDateTime获取此时间戳几天前后时间戳
时间: 2023-07-21 11:08:56 浏览: 90
可以使用Java 8中的LocalDateTime和Instant类来实现此操作。以下是一个示例方法,将一个时间戳转换为LocalDateTime,然后添加或减去指定的天数并返回新的时间戳。
```java
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
public class TimeUtils {
public static long getTimestampDaysAgo(long timestamp, int days) {
LocalDateTime dateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), ZoneId.systemDefault());
LocalDateTime newDateTime = dateTime.plusDays(days);
return newDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
}
}
```
使用示例:
```java
long timestamp = System.currentTimeMillis(); // 当前时间戳
int days = 3; // 3天前或后的时间戳
long newTimestamp = TimeUtils.getTimestampDaysAgo(timestamp, days);
System.out.println(newTimestamp);
```
这将打印出指定时间戳3天前或后的时间戳。
阅读全文