|
If you need the date to always be the month end date, you can simply do
below:
date1 = date1 + %month(1) - %days(%subdt(date1:*days))
I don't think you can do the samething in java. Not on one statemnet
anyway. I try to do it in two separate statement and get the same
result 3/28/06:
package myTest;
import java.util.*;
public class MyTest {
public static void main(String[] args) {
GregorianCalendar myDate = new GregorianCalendar(2006,
0, 31,0,0,0);
System.out.println(
"Year="+myDate.get(Calendar.YEAR)+';'+
"Month="+myDate.get(Calendar.MONTH)+';'+
"Day="+myDate.get(Calendar.DATE));
myDate.add(Calendar.MONTH, 1);
System.out.println(
"Year="+myDate.get(Calendar.YEAR)+';'+
"Month="+myDate.get(Calendar.MONTH)+';'+
"Day="+myDate.get(Calendar.DATE));
myDate.add(Calendar.MONTH, 1);
System.out.println(
"Year="+myDate.get(Calendar.YEAR)+';'+
"Month="+myDate.get(Calendar.MONTH)+';'+
"Day="+myDate.get(Calendar.DATE));
System.exit(0);
}
}
Below if the result when run above:
Year=2006;Month=0;Day=31
Year=2006;Month=1;Day=28
Year=2006;Month=2;Day=28
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of praveen gunda
Sent: Monday, March 27, 2006 3:36 PM
To: RPG programming on the AS400 / iSeries
Subject: Re: Bug in IBM Date Routies %month
I think IBM should have taken care of this, similar to how they have
taken care of this.
2006-01-31 + %months(1) = 2006--2-28
Also,
2006-01-31 + %months(2) should be consistent with 2006-01-31 +
%months(1) +
%months(1)
Adding 2 months or adding 1 month + 1 months should be same right?
I write a lot in Java, and have never came across such a problem.
On 3/27/06, Michael_Schutte@xxxxxxxxxxxx <Michael_Schutte@xxxxxxxxxxxx>
wrote:
>
> You get the same issue when you do it with the date of 3/31/2006
> instead of
> 1/31/2006
>
> Michael Schutte
> Work 614-492-7419
> email michael_schutte@xxxxxxxxxxxx
>
>
>
> "Peter Dow (ML)"
> <maillist@dowsoft
> ware.com>
To
> Sent by: RPG programming on the AS400 /
> rpg400-l-bounces+ iSeries <rpg400-l@xxxxxxxxxxxx>
> michael_schutte=b
cc
> obevans.com@midra
> nge.com
Subject
> Re: Bug in IBM Date Routies
> %month
>
> 03/27/2006 04:23
> PM
>
>
> Please respond to
> RPG programming
> on the AS400 /
> iSeries
> <rpg400-l@midrang
> e.com>
>
>
>
>
>
>
> Hi Praveen,
>
> Actually, that's not a bug, it's a problem with intermediate values.
> When you add 1 month to 2006-01-31, what do you get? 2006-02-31 is
> not a valid date; instead you get 2006-02-28 (see the manual). When
> you then add 1 month to that, you get 2006-03-28. Date arithmetic is
> tricky...
>
> hth,
>
> Peter Dow
> Dow Software Services, Inc.
> 909 793-9050
>
> praveen gunda wrote:
> > I found the following bug with IBM Date rountines... Was there a fix
> > for this?
> >
> >
> > Ddate1 s d datfmt(*ymd)
> > /Free
> > cymd = 20060131;
> > date1 = %date(cymd:*ISO);
> > dsply %char( (date1+%months(2)):*iso );
> > dsply %char( (date1+%months(1)+%months(1)) :*iso);
> > /End-Free
> >
> >
> > Heres' the output:
> >
> > DSPLY 2006-03-31
> > DSPLY 2006-03-28
> >
> > Shouldn't it be 2006-03-31 both the times.
> >
>
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
> list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
> unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
> moment to review the archives at http://archive.midrange.com/rpg400-l.
>
>
>
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
> list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
> unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
> moment to review the archives at http://archive.midrange.com/rpg400-l.
>
>
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.