[jboss-jira] [JBoss JIRA] Closed: (JBPM-775) Business Calendar doesn't add days, weeks, months correctly when daylight savings time begins or ends
Tom Baeyens (JIRA)
jira-events at jboss.com
Wed Nov 15 09:33:42 EST 2006
[ http://jira.jboss.com/jira/browse/JBPM-775?page=all ]
Tom Baeyens closed JBPM-775.
----------------------------
Resolution: Rejected
it would be too difficult to resolve all this kind of minor miscalculations. fixing this would imply that i also have to fix the fact that days, weeks , months and years are all translated into a fixed number of milliseconds.
> Business Calendar doesn't add days, weeks, months correctly when daylight savings time begins or ends
> -----------------------------------------------------------------------------------------------------
>
> Key: JBPM-775
> URL: http://jira.jboss.com/jira/browse/JBPM-775
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM 3.1.2
> Environment: All environments
> Reporter: Randy Tielking
> Assigned To: Tom Baeyens
> Priority: Minor
>
> When the BusinessCalendar's add method is called with a duration of days, weeks, or months and the time duration will span the beginning or end of daylight savings time, an unexpected time is returned. Typically if a timer should go off at 5:00 pm everyday, you still want it to go off at 5:00 pm before and after you "spring forward" or "fall back".
> For example:
> public class BusinessCalendarTest extends TestCase {
>
> /**
> * Tests that the BusinessCalendar still gets the time right when daylight savings time change occurs
> * @throws Exception
> */
> public void testCanHandleStartingDaylightSavingsTimeWhenAddingDays ( ) throws Exception {
>
> BusinessCalendar businessCalendar = new BusinessCalendar();
> Duration oneDayDuration = new Duration("1 day");
>
> DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss z");
> df.setTimeZone(TimeZone.getTimeZone("US/Eastern"));
> Date startDate = df.parse("2006/04/02 01:55:00 EST"); // Sunday at 1:55 am EST
> Date newDate = businessCalendar.add(startDate, oneDayDuration); // now Monday at 1:55 am EDT
> assertEquals("2006/04/03 01:55:00 EDT", df.format(newDate));
> }
> }
> This test fails the assert with:
> junit.framework.ComparisonFailure: expected:<2006/04/03 0[1]:55:00 EDT> but was:<2006/04/03 0[2]:55:00 EDT>
> If you want to run every 24 hours instead of the same time every day, you could use a duration of 24 hours.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list