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.