因此,我在一個應用程序中使用了JodaTime,並且需要一種方法來判斷當前時間是否在午夜6小時內。實際上,我需要知道時間是否在凌晨2點的8小時內,但JodaTime似乎在午夜提供了一個常數,所以我正在考慮這一點。無論如何,我已經嘗試了許多不同的東西,但沒有什麼效果。任何幫助或指針,將不勝感激。使用JodaTime快速判斷當前時間是否在午夜6小時內
0
A
回答
3
這可以簡單地通過使用JodaTime來完成,而不涉及任何數學問題。
DateTime time = new DateTime(DateTimeZone.UTC);
Period period = new Period(time, time.plusDays(1).toDateMidnight());
System.out.println(period.getHours());
的time.plusDays(1).toDateMidnight()(是的,我是個懶人),是讓我的下一個午夜比較,而不是與今天的午夜(已通過)。
如果你想檢查前後兩者,只需檢查兩個時期。
1
我會建議使用DateTime對象。
DateTime date = new DateTime();
int i = getSecondOfDay();
然後用一個小數學,我們可以找到下午6點的數量。 18小時* 60分鐘* 60秒= 64800秒。
if (i > 64800){
// Do what you need here
}
我認爲你需要知道這是當前8小時,而不是特定的一天。
1
這是一個有點硬編碼和pcalcao的答案很可能是更加靈活:
private static boolean isLessThan8HoursFrom2AM(DateTime date) {
return (date.getHourOfDay() >= 18 || date.getHourOfDay() < 10);
}
1
您還可以檢查是否一天中的時間是從中午6小時。
if(Math.abs(timeOfDay - 43200) >= 21600) // first or last 6 hours of day.
相關問題
- 1. 檢查當前時間是午夜/還是Joda時間的第二天?
- 2. Datediff當時間跨越午夜
- 3. 檢查當地時間是否在另一個時區的午夜之後
- 4. 爲什麼在8:30加入6天7½小時到午夜?
- 5. 如何判斷用戶是否使用Cocoa的24小時時間
- 6. HTML輸入時間最多在午夜
- 7. 在mysql中從午夜減去時間
- 8. 後在午夜時間的PostgreSQL
- 9. 如何計算午夜時間間隔?
- 10. 午夜時間到秒之間
- 11. 如何判斷字符串時間-A是否在時間-B之前?
- 12. Javascript檢查它是否從一定時間過去了午夜
- 13. 將午夜時間戳重命名爲前一天的第24小時
- 14. 如何判斷當前SQL Server中的臨時表是否在範圍內?
- 15. 確定當前時間是否在當天下午5點之前
- 16. 使用=運算符時,快速防護如何判斷真假
- 17. 如何檢測時間已過午夜?
- 18. 處理時間和午夜後
- 19. 計算午夜時間差異
- 20. 如果$時間=午夜,改變$日
- 21. 確定當前時間是否在一組時間範圍內
- 22. 如何檢查當前時間是否在一段時間內?
- 23. 如何判斷用戶是否使用iPhone 6或6+
- 24. 使用jQuery檢查當前時間是否落入時間範圍(24小時)
- 25. Reporting Services:DateTime參數在午夜時間不顯示時間部分
- 26. 轉換字符串在12(下午/上午)小時上午下午時間到24小時時間android
- 27. Datenum錯誤時午夜0
- 28. 如何判斷malloc是否在iOS上快速失敗?
- 29. 計算前一個午夜的unix時間戳
- 30. 獲取前一天午夜的日期時間對象
完美的作品,非常感謝。 – cardician 2012-02-24 17:34:44