根据当前时间获得本年结束时间,本月结束时间,本周结束时间,今日结束时间的13位时间戳的java代码
时间: 2023-11-14 17:22:15 浏览: 100
java代码-以当前时间获取上周、本周、下周、下下周的结束时间
以下是根据当前时间获得本年结束时间,本月结束时间,本周结束时间,今日结束时间的13位时间戳的Java代码:
```java
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class TimeUtils {
// 获取本年结束时间戳
public static long getEndOfYear() {
LocalDateTime endOfYear = LocalDateTime.of(LocalDate.now().getYear(), 12, 31, 23, 59, 59);
return endOfYear.toInstant(ZoneOffset.of("+8")).toEpochMilli();
}
// 获取本月结束时间戳
public static long getEndOfMonth() {
LocalDateTime endOfMonth = LocalDateTime.now().with(TemporalAdjusters.lastDayOfMonth()).withHour(23).withMinute(59).withSecond(59);
return endOfMonth.toInstant(ZoneOffset.of("+8")).toEpochMilli();
}
// 获取本周结束时间戳
public static long getEndOfWeek() {
LocalDateTime endOfWeek = LocalDateTime.now().with(DayOfWeek.SUNDAY).plusDays(7).withHour(23).withMinute(59).withSecond(59);
return endOfWeek.toInstant(ZoneOffset.of("+8")).toEpochMilli();
}
// 获取今日结束时间戳
public static long getEndOfDay() {
LocalDateTime endOfDay = LocalDateTime.now().withHour(23).withMinute(59).withSecond(59);
return endOfDay.toInstant(ZoneOffset.of("+8")).toEpochMilli();
}
}
```
以上代码中,使用Java 8新特性的`LocalDateTime`和`TemporalAdjusters`类来获取各种时间戳。`toInstant`方法将`LocalDateTime`类型转换成`Instant`类型,再使用`toEpochMilli`方法获取13位时间戳。
阅读全文