private boolean isInNight(long timeInMillis) {
DateTime from = new LocalTime("22:00").toDateTimeToday();
DateTime to = new LocalTime("11:00").toDateTimeToday();
DateTime nextDayOfNightModeTo = to;
if (to.compareTo(from) < 0) {
nextDayOfNightModeTo = to.plusDays(1);
}
long millisOfNightMode = Seconds.secondsBetween(from, nextDayOfNightModeTo).getSeconds() * 1000L;
DateTime dateTime = new DateTime(timeInMillis);
if (dateTime.compareTo(from) > 0) {
long millisBetween = dateTime.getMillis() - from.getMillis();
if (millisOfNightMode > millisBetween) {
return true;
}
} else if (dateTime.compareTo(to) < 0) {
long millisBetween = to.getMillis() - from.getMillis();
if (millisOfNightMode > millisBetween) {
return true;
}
}
return false;
}