diff --git a/dspace-oai/src/main/java/org/dspace/xoai/filter/DateUntilFilter.java b/dspace-oai/src/main/java/org/dspace/xoai/filter/DateUntilFilter.java index 1995fc0dfc39..cdb17d9cce4d 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/filter/DateUntilFilter.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/filter/DateUntilFilter.java @@ -50,6 +50,11 @@ public boolean isShown(DSpaceItem item) public SolrFilterResult buildSolrQuery() { String format = dateProvider.format(date).replace("Z", ".999Z"); // Tweak to set the millisecon + if (format.substring(11, 19).equals("00:00:00")) + { + format = format.substring(0, 11) + "23:59:59" + format.substring(19); + } + return new SolrFilterResult("item.lastmodified:[* TO " + ClientUtils.escapeQueryChars(format) + "]"); } 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 e9684145be67..b73955d695e8 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 @@ -31,8 +31,7 @@ public static String format(Date date) } public static String format(Date date, boolean init) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.'000Z'"); - if (!init) sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.'999Z'"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); // We indicate that the returned date is in Zulu time (UTC) so we have // to set the time zone of sdf correct. sdf.setTimeZone(TimeZone.getTimeZone("ZULU"));