在java中向日期对象添加以小时为单位的时间?

Neh*_*eha 3 java time date

如何向日期对象添加小时数。下面是我的代码:

String dateStart = timeStamp;
String dateStop = valueCon;

SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss");

Date d1 = null;
Date d2 = null;

d1 = format.parse(dateStart);
d2 = format.parse(datestop);
Run Code Online (Sandbox Code Playgroud)

我想向 d2 日期对象添加 4 小时。我如何实现它?

我尝试使用:

Date modd1= new Date(d2+TimeUnit.MINUTES.toHours(240));
Run Code Online (Sandbox Code Playgroud)

但它只接受长对象进行添加。从而失败了。

请支持解决此问题。提前致谢。

hom*_*man 5

java.time和其他人一样,如果可以的话我建议使用。API 更加一致,并且可以更好地满足这些类型的操作。

但是,要按原样回答您的问题...一种选择是Date使用get/setTime()以下方法调整实例的毫秒形式:

@Test
public void adjustTime() {
    final Date date = new Date();

    System.out.println("## Before adding four hours: " + date);

    date.setTime(date.getTime() + TimeUnit.HOURS.toMillis(4));

    System.out.println("## After adding four hours: " + date);
}
Run Code Online (Sandbox Code Playgroud)

希望有帮助!