// someTime is epoch in millis (UTC)
final long timeNow = new Date().getTime();
final long midnight = timeNow - timeNow % (3600 * 24 * 1000L);
final long yesterdayMidnight = midnight - (3600 * 24 * 1000L);
// check if same day.
if (someTime >= midnight)
// do something
// check if yesterday
if (someTime >= yesterdayMidnight)
編輯:我的目的是檢查someTime是否在同一天或前一天沒有做太多的重量級的東西。這是否適用於夏令時?
這是白天節能的原因嗎?爲什麼?如果不是,最簡單的邏輯是什麼? (在你的代碼,這是處理中的「自Unix毫秒爲單位」來肯定),一切都在UTC,有效地 -
如果你說新的日期(); ,這意味着你指的是你係統的當前日期。無論您的系統日期設置爲何,您只會獲得該時間。 – Stunner
@MarounMaroun我相信這個問題實際上是「使用此代碼時可以安全考慮可能的夏令時開關」。 –
@IvayloStrandjev感謝您的澄清。我已更改標題 – Lucas