[ https://issues.apache.org/jira/browse/WICKET-3510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Grigorov reopened WICKET-3510: ------------------------------------- Assignee: (was: Igor Vaynberg) > DateTimeField improperly converts time causing wrong dates when the server's > current date is different from the client's date. > ------------------------------------------------------------------------------------------------------------------------------ > > Key: WICKET-3510 > URL: https://issues.apache.org/jira/browse/WICKET-3510 > Project: Wicket > Issue Type: Bug > Components: wicket-datetime > Affects Versions: 1.5-RC2 > Reporter: Bertrand Guay-Paquet > Labels: datepicker, datetime > Fix For: 1.5-RC3 > > Attachments: DateConverterFix.patch, FailingTest.patch, > TestDateConverter.java, doubleConversionFix.patch, testsWithDateModels.patch > > > The bug is in DateTimeField#convertInput(). > <code> > // Get year, month and day ignoring any timezone of the Date object > Calendar cal = Calendar.getInstance(); > cal.setTime(dateFieldInput); > int year = cal.get(Calendar.YEAR); > int month = cal.get(Calendar.MONTH) + 1; > int day = cal.get(Calendar.DAY_OF_MONTH); > int hours = (hoursInput == null ? 0 : hoursInput % 24); > int minutes = (minutesInput == null ? 0 : minutesInput); > // Use the input to create a date object with proper timezone > MutableDateTime date = new MutableDateTime(year, month, day, hours, minutes, > 0, 0, > DateTimeZone.forTimeZone(getClientTimeZone())); > </code> > If the server's current date is different from the client's, this produces > wrong output. I attached a patch with a test case that simulates this > condition. > I don't know why this "casting" of day, month, year is done. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira