如何判断Joda DateTime是否在下午4-8点之间?

Lux*_*ode 6 java jodatime

我想检查给定的DateTime是在凌晨4点到早上8点之间还是在凌晨12点到凌晨3点之间.这样做的正确方法是什么?

这似乎可以解决问题:

        DateTime start  = new DateTime().withHourOfDay(4);
        DateTime end  = new DateTime().withHourOfDay(8);
        Interval interval = new Interval(start, end);
        if(interval.contains(now)) return true;
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

jmr*_*ruc 10

只是用 getHourOfDay()

int hour = new DateTime().getHourOfDay();
return ((hour >= 16) && (hour < 20))    //4-8pm
        || ((hour >= 0) && (hour < 3)); //12-3am
Run Code Online (Sandbox Code Playgroud)