有关如何修改以下代码段以使其适用于四分之一和半小时间隔的任何想法吗?
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.apache.commons.lang.time.FastDateFormat;
public class DateRounding {
public static void main(String[] args) {
FastDateFormat formatter = DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT;
Date now = new Date();
System.out.println("now = " + formatter.format(now));
// Get nearest second
Date nearestSecond = DateUtils.round(now, Calendar.SECOND);
System.out.println("nearestSecond = " + formatter.format(nearestSecond));
// Get nearest minute
Date nearestMinute = DateUtils.round(now, Calendar.MINUTE);
System.out.println("nearestMinute = " + formatter.format(nearestMinute));
// Get nearest hour
Date nearestHour = DateUtils.round(now, Calendar.HOUR);
System.out.println("nearestHour = " + formatter.format(nearestHour));
}
}
答案 0 :(得分:0)
四分之一是15分钟= 15 * 60 * 1000毫秒。您可以将其中的一半添加到Date
的长值中,除以它并再次相乘。
同样半小时。
也许你甚至可以做到
DateUtils.round(now, 15*60*1000);
为此,请咨询API doc。