考虑到冬季和夏季的时间变化,是否有任何服务可以检查当前时间是否为晚上? 例如,夏季的夜晚从当地时间19:45开始,而冬季则从16:45开始。
我的审判是:
Boolean isNight;
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY);
isNight = hour < 6 || hour > 18;
此代码仅在晚上从18:00开始开始,但是夜间会根据一年中的时间而更改时起作用。
答案 0 :(得分:1)
您可以使用 sunrisesunset-lib
以及类似的方法
您的位置,您就能知道是不是晚上:
private boolean isNight(Location location) {
SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(location, TimeZone.getTimeZone("GMT+3:30"));
Calendar now = Calendar.getInstance();
Calendar officialSunrise = calculator.getOfficialSunriseCalendarForDate(now);
Calendar officialSunset = calculator.getOfficialSunsetCalendarForDate(now);
return !(now.after(officialSunrise) && now.before(officialSunset));
}
答案 1 :(得分:0)
再有一个代码对我有用
String time1 = "01:00:00";
String time2 = "15:00:00";
LocalTime time = LocalTime.parse(time2);
if ((time.isAfter(LocalTime.of(20,11,13))) || (time.isBefore(LocalTime.of(14,49,0))))
{
System.out.println("true");
}
else
{
System.out.println("false");
}