如何获取当日时间为零点的Instant.now()实例?
获取当天UTC零点的Instant实例
要得到当前日期UTC时区零点的Instant,可以通过java.time包的类组合实现,步骤如下:
- 获取当前的
Instant实例 - 将其转换为UTC时区的
LocalDate,提取出当天的日期部分 - 把该
LocalDate转换为UTC时区当天起始时刻的Instant
对应的Java代码示例:
Instant now = Instant.now(); // 转换为UTC时区的当天日期 LocalDate todayUtc = now.atZone(ZoneOffset.UTC).toLocalDate(); // 获取当天UTC零点的Instant Instant startOfDayUtc = todayUtc.atStartOfDay(ZoneOffset.UTC).toInstant(); // 输出示例:2022-12-14T00:00:00Z System.out.println(startOfDayUtc);
如果需要其他时区的当天零点,只需将ZoneOffset.UTC替换为目标时区,比如ZoneId.of("Asia/Shanghai")即可。
内容的提问来源于stack exchange,提问作者mmar
相关产品推荐
相关产品推荐

