[ http://issues.apache.org/jira/browse/LANG-282?page=comments#action_12456737 ] Henri Yandell commented on LANG-282: ------------------------------------
The following causes an error in DurationFormatUtilsTest.testEdgeDurations. + assertEqualDuration( "54", new int[] { 2006, 0, 15, 0, 0, 0 }, + new int[] { 2006, 2, 10, 0, 0, 0 }, "dd"); It is bizarrely returning 77. 77 - 10 - 16 - 28 = 23. (ie: - Mar - Jan, - Feb) Interesting that that is the number of days found when calculating "MM dd". > Create more tests to test out the +=31 replacement code in > DurationFormatUtils. > ------------------------------------------------------------------------------- > > Key: LANG-282 > URL: http://issues.apache.org/jira/browse/LANG-282 > Project: Commons Lang > Issue Type: Task > Reporter: Henri Yandell > Assigned To: Henri Yandell > Fix For: 2.3 > > > Code being: > while (days < 0) { > end.add(Calendar.MONTH, -1); > days += end.getActualMaximum(Calendar.DAY_OF_MONTH); > //days += 31; // TODO: Need tests to show this is bad and the new code is > good. > // HEN: It's a tricky subject. Jan 15th to March 10th. If I count days-first > it is > // 1 month and 26 days, but if I count month-first then it is 1 month and 23 > days. > // Also it's contextual - if asked for no M in the format then I should > probably > // be doing no calculating here. > months -= 1; > end.add(Calendar.MONTH, 1); > } -- 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]