diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhUtilities.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhUtilities.java index fe61333318748969487d0d2613153ec3f3e34ad6..361277d3be94123c45627f93fb3493636cf573d6 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhUtilities.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhUtilities.java @@ -155,18 +155,22 @@ public class OaipmhUtilities { log.fine("original DateTimeString: " + originalDateTimeString); + Instant instant; try { OffsetDateTime odt = OffsetDateTime.parse(originalDateTimeString); - result = UTC_FORMATTER.format(Instant.from(odt)); + instant = Instant.from(odt); } - // TODO We are missing to set time zones on dcterms date fields!! Workaround for all DARIAH-DE - // Repository dates so far is using LocalDateTime here! + // NOTE We are missing to set time zones on dcterms date fields in administrative metadata! + // Workaround for all DARIAH-DE Repository dates so far (until fix) is using LocalDateTime here + // with ZoneId CET, what has been local time zone until now! catch (DateTimeParseException e) { LocalDateTime ldt = LocalDateTime.parse(originalDateTimeString); - result = UTC_FORMATTER.format(ldt.atZone(ZoneId.systemDefault()).toInstant()); + instant = ldt.atZone(ZoneId.of("CET")).toInstant(); } + result = UTC_FORMATTER.format(instant); + log.fine("parsed to UTC: " + result); return result;