55 lines
1.7 KiB
Java
55 lines
1.7 KiB
Java
package com.baeldung.datetime;
|
|
|
|
import java.time.Duration;
|
|
import java.time.Instant;
|
|
import java.time.LocalDateTime;
|
|
import java.time.ZonedDateTime;
|
|
import java.time.temporal.ChronoUnit;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
|
|
public class AddHoursToDate {
|
|
|
|
public Date addHoursToJavaUtilDate(Date date, int hours) {
|
|
Calendar calendar = Calendar.getInstance();
|
|
calendar.setTime(date);
|
|
calendar.add(Calendar.HOUR_OF_DAY, hours);
|
|
return calendar.getTime();
|
|
}
|
|
|
|
public Date addHoursToDateUsingInstant(Date date, int hours) {
|
|
return Date.from(date.toInstant()
|
|
.plus(Duration.ofHours(hours)));
|
|
}
|
|
|
|
public LocalDateTime addHoursToLocalDateTime(LocalDateTime localDateTime, int hours) {
|
|
return localDateTime.plusHours(hours);
|
|
}
|
|
|
|
public LocalDateTime subtractHoursToLocalDateTime(LocalDateTime localDateTime, int hours) {
|
|
return localDateTime.minusHours(hours);
|
|
}
|
|
|
|
public ZonedDateTime addHoursToZonedDateTime(ZonedDateTime zonedDateTime, int hours) {
|
|
return zonedDateTime.plusHours(hours);
|
|
}
|
|
|
|
public ZonedDateTime subtractHoursToZonedDateTime(ZonedDateTime zonedDateTime, int hours) {
|
|
return zonedDateTime.minusHours(hours);
|
|
}
|
|
|
|
public Instant addHoursToInstant(Instant instant, int hours) {
|
|
return instant.plus(hours, ChronoUnit.HOURS);
|
|
}
|
|
|
|
public Instant subtractHoursToInstant(Instant instant, int hours) {
|
|
return instant.minus(hours, ChronoUnit.HOURS);
|
|
}
|
|
|
|
public Date addHoursWithApacheCommons(Date date, int hours) {
|
|
return DateUtils.addHours(date, hours);
|
|
}
|
|
}
|