說我有DateTime引用,並且我想讓前一天的時間在15:00。 如果我說什麼是在約定時間內獲得'前一天在15:00'的最簡單正確的方法
DateTime someTime = ....;
DateTime yesterday1500 = someTime.toDateMidnight().toDateTime().minusDays(1).plusHours(15);
,那麼這將在所有個工作日內除非有夏令時的變化。
如果someTime ='1.4.2014',我會得到'31 .3.2014 15:00'。
如果someTime = '31 .3.2014',我會得到'30 .3.2014 16:00'。
盡我所能想出是
yesterday1500 = new DateTime(someTime.getYear(), someTime.getMonthOfYear(), someTime.getDayOfMonth(), 15, 0, 0, 0);
它工作正常,但似乎笨重。 有沒有更好的方法?
編輯: 我在克羅地亞是CEST(UTC + 01:00)時區。
編輯2: 加... toDateMidnight()toDateTime()...示例代碼,表明某個時候可以在任何時間點
正是我想要的。謝謝。 – 2014-09-24 09:02:18