相关疑难解决方法(0)

将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;
}
Run Code Online (Sandbox Code Playgroud)

第二个使用简单的毫秒运算:

long theFuture = System.currentTimeMillis() + (86400 * 7 * 1000);
Date nextWeek = new Date(theFuture);
Run Code Online (Sandbox Code Playgroud)

第二种方法显然使用"幻数"来定义一周,但是这可以移动到一个常数.MILLISECONDS_IN_ONE_WEEK = 86400 * 7 * 1000 除此之外,是否有任何理由为什么这些方法中的一种应该优先于另一种呢?

基本上我想改变代码在整个过程中保持一致,但我不完全确定删除哪一个.所以任何论据都是有用的.

java datetime calendar date

25
推荐指数
2
解决办法
2万
查看次数

标签 统计

calendar ×1

date ×1

datetime ×1

java ×1