DatePicker Calendar: wrong year format when 4 digits are used (yyyy), e.g. 2010 
--> 0010
----------------------------------------------------------------------------------------

                 Key: WICKET-2767
                 URL: https://issues.apache.org/jira/browse/WICKET-2767
             Project: Wicket
          Issue Type: Bug
          Components: wicket-datetime
    Affects Versions: 1.4.7
            Reporter: Giovanni


I found that there is still a bug in Wicket 1.4.7 in case that the datePattern 
is "dd/MM/yyyy".

For example, if you use the DatePicker and select a date such as
23/02/2010 from the calendar GUI, the date selected in the DateTextField is 
"23/02/0010".

This is the example Java code:

                // define the date text field for the data decorrenza
                DateTextField dataDecorrenzaDaTextField = new 
DateTextField("dataDecorrenzaDa",
                        new PropertyModel(this.accordo, "dataDecorrenzaDa"),
                        new PatternDateConverter("dd/MM/yyyy", true)
                );

                // add the graphical calendar date picker
                dataDecorrenzaDaTextField.add(new DatePicker() {

                        @Override
                        protected boolean enableMonthYearSelection() {
 
                            // enable month/year selection
                            return true;

                        } // end enableMonthYearSelection

                    } // end DatePicker

                );

I found that the bug is still in the "wicket-date.js", line 137.

The wrong code is:

if(datePattern.match(/yy+/)) year = Wicket.DateTime.padDateFragment(year % 100);

This line also makes the module 100 on the year, when the year pattern is 
"yyyy".

The fixed code is:

if(datePattern.match(/yyyy+/)) {
    year = year;
} else if(datePattern.match(/yy+/)) year = Wicket.DateTime.padDateFragment(year 
% 100);




-- 
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