我正在尝试检查当前时间是否介于7AM
和10AM
我这样做
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
int hour = cal.get(Calendar.HOUR_OF_DAY);
if(hour >= 7 && hour <= 10)
{
}
请告诉我这是否是一种有效的方法
答案 0 :(得分:1)
是的,这是一种有效的方法。您还可以使用新的Time API(需要Java 8)
import java.time.LocalTime;
...
int hour = LocalTime.now().getHour();
获得小时的时间有点短。还有一个重载的now(ZoneId zoneId)
方法。
或者使其成为带有时间查询的单行(也需要Java 8):
Boolean isBetween7and10AM = LocalTime.now().query(date -> date.get(ChronoField.CLOCK_HOUR_OF_DAY) >=7 &&
date.get(ChronoField.CLOCK_HOUR_OF_DAY) < 10);
答案 1 :(得分:0)
烨。看起来很好。请记住,此Calendar
字段取决于时区。
BTW:将起始大括号放在上一行的末尾,因为这是常见的代码格式化风格。
: - )