2012-05-15 21 views
6

Tôi muốn kiểm tra xem một DateTime cụ thể có từ 4 giờ sáng đến 8 giờ sáng hay từ 12 giờ sáng đến 3 giờ sáng. Điều gì sẽ là đúng cách để đi về làm điều đó?Làm cách nào tôi có thể biết được thời gian Joda DateTime có nằm trong khoảng thời gian từ 4 đến 8 giờ tối không?

Điều này dường như làm các trick:

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

Có cách nào tốt hơn?

Trả lời

10

Chỉ cần sử dụng getHourOfDay()

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

Tại sao điều này tốt hơn? – RTF

Các vấn đề liên quan