gpt4 book ai didi

java - 根据当前时间获取特定的 15 分钟时间范围

转载 作者:搜寻专家 更新时间:2023-11-01 01:40:53 26 4
gpt4 key购买 nike

我想获得基于当前时间的 15 分钟时间范围。

例如:

时间范围是每 15 分钟

即 12 比 1 分为四个时间段 [ 12:00 到 12:15, 12:16 到 12:30, 1:31 到 12:45, 12:46 到 1:00]

如果当前时间是 12:34 意味着,我需要将时间范围返回为 12:31 到 12:45

我们可以使用 Java 8 日期和时间 API 轻松完成吗?

最佳答案

您可以创建一个 TemporalAdjuster 来计算当前 15 分钟周期的结束时间,并通过移除 14 分钟来计算该周期的开始时间。

可能看起来像这样:

public static void main(String[] args) {
LocalTime t = LocalTime.of(12, 34);
LocalTime next15 = t.with(next15Minute());
System.out.println(next15.minusMinutes(14) + " - " + next15);
}

public static TemporalAdjuster next15Minute() {
return (temporal) -> {
int minute = temporal.get(ChronoField.MINUTE_OF_DAY);
int next15 = (minute / 15 + 1) * 15;
return temporal.with(ChronoField.NANO_OF_DAY, 0).plus(next15, ChronoUnit.MINUTES);
};
}

输出 12:31 - 12-45

注意:我不确定它在 DST 更改时的表现如何 - 有待测试。

关于java - 根据当前时间获取特定的 15 分钟时间范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41439444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com