[
http://issues.apache.org/jira/browse/TOMAHAWK-787?page=comments#action_12450579
]
Richard J. Barbalace commented on TOMAHAWK-787:
-----------------------------------------------
I think the following changes may resolve the bug, which appears to work in my
copy of date.js, but someone more familiar with the component than myself
should create a patch and verify this.
At line 344:
else if(patternSub.charAt(0)=='H' ||
patternSub.charAt(0)=='h')
{
if(parse)
{
this._parseNum(context, dateStr,2,dateIndex);
context.hour = context.retValue;
}
else
{
if (patternSub.charAt(0)=='h' && context.hour >= 12) {
context.ampm = 1; // Set PM
}
if (patternSub.charAt(0)=='h' && context.hour == 0) {
context.hour = 12; // Adjust midnight hour
}
if (patternSub.charAt(0)=='h' && context.hour > 12) {
context.hour -= 12; // Adjust afternoon hours
}
this._formatNum(context,context.hour,patternSub.length);
}
}
Then at line 381:
else if(patternSub.charAt(0)=='a')
{
if(parse)
{
this._parseString(context,
dateStr,dateIndex,this.dateFormatSymbols.ampms);
context.ampm = context.retValue;
if (context.ampm == 0 && context.hour == 12) {
context.hour = 0; // Adjust midnight hour
} else if (context.ampm == 1 && context.hour < 12) {
context.hour += 12; // Adjust afternoon hours
}
}
else
{
context.dateStr += this.dateFormatSymbols.ampms[context.ampm];
}
}
> Incorrect display of 12-hour time in t:inputCalendar
> ----------------------------------------------------
>
> Key: TOMAHAWK-787
> URL: http://issues.apache.org/jira/browse/TOMAHAWK-787
> Project: MyFaces Tomahawk
> Issue Type: Bug
> Components: Calendar
> Affects Versions: 1.1.4-SNAPSHOT, 1.1.5-SNAPSHOT
> Reporter: Richard J. Barbalace
>
> If the date format attribute specifies 12-hour time, as in:
> popupDateFormat="d MMM yyyy hh:mm:ss a"
> rather than 24-hour time, as in:
> popupDateFormat="d MMM yyyy HH:mm:ss"
> then the display from the calendar still reports 24-hour time, yielding
> something like this:
> Today is 16 Nov 2006 16:23:04 AM
> That of course should read as:
> Today is 16 Nov 2006 04:23:04 PM
> I suspect the bug involves the code beginning around line 344 of
>
> core/src/main/resources/org/apache/myfaces/custom/calendar/resource/date.js
> which reads:
> else if(patternSub.charAt(0)=='H' ||
> patternSub.charAt(0)=='h')
> There should probably be separate cases for 'H' and 'h', for which the latter
> would subtract 12 from the context.hour, but I am not familiar enough with
> this code to be sure. There might also be an issue with the AM/PM setting
> further down the file around line 381.
> There are, in case anyone wonders why the time should be set from a calendar
> control, valid reasons for doing this, such as in my application where it is
> desired to be able to correct the date on an incorrectly entered timestamp
> from some other source.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira