在日期中添加 1 周,哪种方式是首选?
我正在审查工作中的一些代码,并在代码处理方式上遇到不一致的情况,使当前时间增加1周,并且想知道是否有任何理由为什么一个应该优先于另一个:
第一个是实用程序方法:
public static Date addDaysToDate(final Date date, int noOfDays) {
Date newDate = new Date(date.getTime());
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(newDate);
calendar.add(Calendar.DATE, noOfDays);
newDate.setTime(calendar.getTime().getTime());
return newDate;
}
第二个使用简单的毫秒算术:
long theFuture = System.currentTimeMillis() + (86400 * 7 * 1000);
Date nextWeek = new Date(theFuture);
第二种方法显然使用“幻数”来定义一周,但是这可以移动到常量,因此除此之外,是否有任何理由为什么这些方法中的一个应该优先于另一个?MILLISECONDS_IN_ONE_WEEK = 86400 * 7 * 1000
基本上,我想更改代码以使始终保持一致,但我不完全确定要删除哪一个。因此,任何以这种或那种方式进行论证都是有用的。