|
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-2024 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.