This corrects a bug in DescribeStep that never showed up because DCDate was not behaving correctly; it gets a GMT datestamp out of the DC field value, but it parses it as local time. This changes it to parse the date as GMT. Index: src/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/submission/submit/DescribeStep.java =================================================================== --- src/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/submission/submit/DescribeStep.java (revision 4246) +++ src/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/submission/submit/DescribeStep.java (working copy) @@ -505,9 +505,9 @@ { DCDate dcDate = new DCDate(dcValue.value); - year.addInstance().setValue(String.valueOf(dcDate.getYear())); - month.addInstance().setOptionSelected(dcDate.getMonth()); - day.addInstance().setValue(String.valueOf(dcDate.getDay())); + year.addInstance().setValue(String.valueOf(dcDate.getYearGMT())); + month.addInstance().setOptionSelected(dcDate.getMonthGMT()); + day.addInstance().setValue(String.valueOf(dcDate.getDayGMT())); fullDate.addInstance().setValue(dcDate.toString()); } } @@ -515,15 +515,15 @@ { DCDate dcDate = new DCDate(dcValues[0].value); - year.setValue(String.valueOf(dcDate.getYear())); - month.setOptionSelected(dcDate.getMonth()); + year.setValue(String.valueOf(dcDate.getYearGMT())); + month.setOptionSelected(dcDate.getMonthGMT()); // Check if the day field is not specified, if so then just // put a blank value in instead of the wiered looking -1. - if (dcDate.getDay() == -1) + if (dcDate.getDayGMT() == -1) day.setValue(""); else - day.setValue(String.valueOf(dcDate.getDay())); + day.setValue(String.valueOf(dcDate.getDayGMT())); } }