[ 
https://issues.apache.org/jira/browse/WICKET-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12861704#action_12861704
 ] 

Alf Støyle commented on WICKET-2841:
------------------------------------

The workaround works for us, so we have used that to avoid our local patched 
version of the jar.

I think you should definitely apply the fix you've suggested. If not it should 
be clear from the documentation of DatePicker and DateTextField how to apply 
the workaround.

Thanks for looking into this.

> DatePicker does not parse year with pattern dd.MM.yyyy correctly.
> -----------------------------------------------------------------
>
>                 Key: WICKET-2841
>                 URL: https://issues.apache.org/jira/browse/WICKET-2841
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-datetime
>            Reporter: Alf Støyle
>
> We use the date pattern dd.MM.yyyy, and when returning from the date picker 
> (org.apache.wicket.extensions.yui.calendar.DatePicker) yields incorrect value 
> in the date text field 
> (org.apache.wicket.extensions.markup.html.form.DateTextField).
> For instance picking the date 19.04.2010 in the date picker, yields 19.04.10, 
> which again becomes the java.util.Date 19.04.0010. We have found the source 
> of the problem, and created a fix for this, but hopefully you can fix this in 
> a later release, so we do not have to maintain a local patched version of 
> wicket-datetime.
> I have included the patch here. However this code seems very intentional, so 
> applying this patch may be breaking something else!?
> Thanks
> - Alf
> diff --git 
> a/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js 
> b/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
> index 7f19c55..420f075 100644
> --- a/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
> +++ b/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
> @@ -134,7 +134,7 @@ Wicket.DateTime.substituteDate = function(datePattern, 
> date) {
>         // optionally do some padding to match the pattern
>         if(datePattern.match(/dd+/)) day = 
> Wicket.DateTime.padDateFragment(day);
>         if(datePattern.match(/MM+/)) month = 
> Wicket.DateTime.padDateFragment(month);
> -        if(datePattern.match(/yy+/)) year = 
> Wicket.DateTime.padDateFragment(year % 100);
> +       if(datePattern.match(/yy+/)) year = 
> Wicket.DateTime.padDateFragment(year);
>         // replace pattern with real values
>         return datePattern.replace(/d+/, day).replace(/M+/, 
> month).replace(/y+/, year);
>  }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to