The use of the Instant class introduced in Java 8 to truncate a date can be significantly faster than the DateUtils class from Commons Lang.

Note that this rule is automatically disabled when the project's sonar.java.source is lower than 8.

Noncompliant Code Example

public Date trunc(Date date) {
  return DateUtils.truncate(date, Calendar.SECOND);  // Noncompliant
}

Compliant Solution

public Date trunc(Date date) {
  Instant instant = date.toInstant();
  instant = instant.truncatedTo(ChronoUnit.SECONDS);
  return Date.from(instant);
}