diff --git a/dspace-oai/src/main/java/org/dspace/xoai/util/DateUtils.java b/dspace-oai/src/main/java/org/dspace/xoai/util/DateUtils.java index 6de7993774f1..4645b5be16d1 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/util/DateUtils.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/util/DateUtils.java @@ -10,6 +10,7 @@ import java.time.Instant; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; +import java.time.temporal.ChronoUnit; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -34,12 +35,8 @@ private DateUtils() { } * @return UTC date string */ public static String format(Instant date) { - // NOTE: OAI-PMH REQUIRES that all dates be expressed in UTC format - // as YYYY-MM-DDThh:mm:ssZ For more details, see - // http://www.openarchives.org/OAI/openarchivesprotocol.html#DatestampsResponses - - // toString returns the correct format - return date.toString(); + Instant truncated = date.truncatedTo(ChronoUnit.SECONDS); + return DateTimeFormatter.ISO_INSTANT.format(truncated); } /** diff --git a/dspace/config/crosswalks/oai/xoai.xml b/dspace/config/crosswalks/oai/xoai.xml index 7140c029c7f3..f0cf7e0358da 100644 --- a/dspace/config/crosswalks/oai/xoai.xml +++ b/dspace/config/crosswalks/oai/xoai.xml @@ -87,6 +87,7 @@ + This contexts complies with Openaire Guidelines for Literature Repositories v4.0.