我觉得这真的很容易,但我的大脑由于某种原因不工作。我有一个功能,用户可以选择运行的时间段(以小时为单位)。我需要检查当前时间是否在这些时间之间:
int currentHour = LocalDateTime.now().getHour(); // 21 (9pm)
int startHour = 20; // (8pm)
int endHour = 1; // (1am)
if (currentHour >= startHour && currentHour < endHour)
{
...
}
Run Code Online (Sandbox Code Playgroud)
您需要考虑涵盖午夜的范围,例如
if (endHour < startHour) {
endHour += 24;
}
if (currentHour < startHour) {
currentHour += 24;
}
// now check if currentHour between start and end
Run Code Online (Sandbox Code Playgroud)
但请注意,它LocalDateTime#getHour()已经返回 0 到 23 之间的值。所以 9 表示上午 9 点,21 表示晚上 9 点。
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |