假设我有一个日期对象标记为 2013 年 2 月 13 日晚上 11 点。我试图在凌晨 3 点获得下一个最快的日期对象。所以在这种情况下,它将是 2013 年 2 月 14 日凌晨 3 点。
我可以简单地通过在日期字段中添加 1 天并将时间设置为凌晨 3:00 来做到这一点,但是以下情况呢:
我有一个日期对象标记为 2013 年 2 月 14 日凌晨 1 点。在这里,我不需要添加一天,而只需设置时间。
有没有一种优雅的方式来做到这一点?下面是我到目前为止所做的,我认为它会起作用,但我只是想知道是否有一个 api 可以让这更容易。getNextSoonestDate() 之类的东西
Calendar calendar = Calendar.getInstance();
//myDate is some arbitrary date, like one of the examples posted above (i.e. feb 13th 11pm)
calendar.setTime(myDate);
//set the calender to be 3am
calendar.set(Calendar.HOUR_OF_DAY, 3);
//check if this comes before my current date, if so we know we need to add a day
if (calendar.getTime().before(myDate)){
calendar.add(Calendar.DAY_OF_YEAR, 1);
}