安卓判断时间是否在某个时间段内
时间: 2024-12-12 09:23:28 浏览: 9
在Android中,你可以使用`java.util.Calendar`类或者`java.time`包中的类来判断当前时间是否在一个特定的时间段内。这里我将给出两种方法:
**方法一:使用Calendar**
```java
import java.util.Calendar;
public boolean isTimeInRange(int startHour, int startMinute, int endHour, int endMinute) {
Calendar currentTime = Calendar.getInstance();
Calendar startTime = Calendar.getInstance();
startTime.set(Calendar.HOUR_OF_DAY, startHour);
startTime.set(Calendar.MINUTE, startMinute);
Calendar endTime = Calendar.getInstance();
endTime.set(Calendar.HOUR_OF_DAY, endHour);
endTime.set(Calendar.MINUTE, endMinute);
return (currentTime.after(startTime) && currentTime.before(endTime));
}
```
在这个方法里,首先获取当前时间和指定的开始、结束时间,然后检查当前时间是否在这两个时间之间。
**方法二:使用LocalDateTime和Duration**
```java
import java.time.LocalDateTime;
import java.time.Duration;
public boolean isTimeInRange(LocalDateTime startTime, LocalDateTime endTime) {
LocalDateTime now = LocalDateTime.now();
Duration duration = Duration.between(startTime, endTime);
return now.isAfter(startTime) && now.isBefore(endTime);
}
```
这个版本使用了Java 8引入的`LocalDateTime`和`Duration`类,同样比较当前时间与给定区间的关系。
阅读全文