[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #60671] Wrong result when subtracting one mont
From: |
anonymous |
Subject: |
[Octave-bug-tracker] [bug #60671] Wrong result when subtracting one month from 31-MON-YEAR date |
Date: |
Tue, 25 May 2021 11:50:26 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0 |
Follow-up Comment #1, bug #60671 (project octave):
Thank you for the bug report. It looks like the behavior is chaotic about
whether it returns the same month or the previous month:
octave:12> datestr (addtodate (datenum('31-Jan-2020'), -1,'month'))
ans = 31-Dec-2019
octave:13> datestr (addtodate (datenum('31-Mar-2020'), -1,'month'))
ans = 02-Mar-2020
octave:14> datestr (addtodate (datenum('31-May-2020'), -1,'month'))
ans = 01-May-2020
octave:15> datestr (addtodate (datenum('31-Jul-2020'), -1,'month'))
ans = 01-Jul-2020
octave:16> datestr (addtodate (datenum('31-Aug-2020'), -1,'month'))
ans = 31-Jul-2020
octave:17> datestr (addtodate (datenum('31-Oct-2020'), -1,'month'))
ans = 01-Oct-2020
octave:18> datestr (addtodate (datenum('31-Dec-2020'), -1,'month'))
ans = 01-Dec-2020
For the other months, it at least seems to be consistently decrementing the
month:
octave:20> datestr(addtodate (datenum('29-Feb-2020'), -1,'month'))
ans = 29-Jan-2020
octave:21> datestr(addtodate (datenum('30-Apr-2020'), -1,'month'))
ans = 30-Mar-2020
octave:22> datestr(addtodate (datenum('30-Jun-2020'), -1,'month'))
ans = 30-May-2020
octave:23> datestr(addtodate (datenum('30-Sep-2020'), -1,'month'))
ans = 30-Aug-2020
octave:24> datestr(addtodate (datenum('30-Nov-2020'), -1,'month'))
ans = 30-Oct-2020
The bug seems to be in these two lines within addtodate.m, which fail
sometimes when the second argument q is negative:
dtmp(:,1) += floor ((dtmp(:,2)-1)/12);
dtmp(:,2) = mod (dtmp(:,2)-1, 12) + 1;
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?60671>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #60671] Wrong result when subtracting one month from 31-MON-YEAR date, Georg Wiora, 2021/05/25
- [Octave-bug-tracker] [bug #60671] Wrong result when subtracting one month from 31-MON-YEAR date, Georg Wiora, 2021/05/25
- [Octave-bug-tracker] [bug #60671] Wrong result when subtracting one month from 31-MON-YEAR date,
anonymous <=
- [Octave-bug-tracker] [bug #60671] Wrong result when subtracting one month from 31-MON-YEAR date, Georg Wiora, 2021/05/25
- [Octave-bug-tracker] [bug #60671] Wrong result when subtracting one month from 31-MON-YEAR date, anonymous, 2021/05/25
- [Octave-bug-tracker] [bug #60671] Wrong result when subtracting one month from 31-MON-YEAR date, Georg Wiora, 2021/05/25
- [Octave-bug-tracker] [bug #60671] Wrong result when subtracting one month from 31-MON-YEAR date, Georg Wiora, 2021/05/25
- [Octave-bug-tracker] [bug #60671] Wrong result when subtracting one month from 31-MON-YEAR date, Georg Wiora, 2021/05/26