[
https://issues.apache.org/jira/browse/WICKET-3510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004840#comment-13004840
]
Andera Del Bene commented on WICKET-3510:
-----------------------------------------
Sorry Bertrand, I think I have accidentally removed your comment from patch.
Anyway the last problem you've found should be fixed by the patch I've attached
to issue 3249. But before you run your last method test
(testStyleDateConverterTimeZoneDifference) you should modify it a little
because it is misleading.
You should add client time zone to web session and reset calendar milliseconds
to zero.
I've attached the patch including my previous patch, your last test method and
your missing comment :)
> 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
> Assignee: Igor Vaynberg
> Labels: datepicker, datetime
> Fix For: 1.5-RC3
>
> Attachments: DateConverterFix.patch, FailingTest.patch,
> TestDateConverter.java, doubleConversionFix.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