Leap years are a little more complex than MOD(YEAR,4)
>From http://en.wikipedia.org/wiki/Leap_years#Algorithm
if year modulo 4 is 0
then
if year modulo 100 is 0
then
if year modulo 400 is 0
then
is_leap_year
else
not_leap_year
else is_leap_year
else not_leap_year
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of John Hester
Sent: Tuesday, December 06, 2011 4:16 PM
To: U2 Users List
Subject: Re: [U2] End of Month date routine
Your method is also the way I've always done it, but an alternate method just
came to mind:
MONTH = OCONV(DATE, 'DM')
YEAR = OCONV(DATE, 'D Y[Z4]')
LEAP = MOD(YEAR, 4) = 0
MONTHS = ''
MONTHS<1> = 31
MONTHS<2> = 28 + LEAP
MONTHS<3> = 31
MONTHS<4> = 30
MONTHS<5> = 31
MONTHS<6> = 30
MONTHS<7> = 31
MONTHS<8> = 31
MONTHS<9> = 30
MONTHS<10> = 31
MONTHS<11> = 30
MONTHS<12> = 31
LAST.DAY = MONTHS<MONTH>
Not very concise, but you can tell at a glance how many days your dealing with.
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Holt, Jake
Sent: Tuesday, December 06, 2011 2:34 PM
To: U2 Users List
Subject: Re: [U2] End of Month date routine
Someone has probably already suggested one like this but I use:
DATE = ICONV("2-11-11",'D')
MONTH = OCONV(DATE,"DM")
YEAR = OCONV(DATE,"DY")
MONTH += 1
IF MONTH > 12 THEN
MONTH = 1
YEAR += 1
END
LAST.DAY = ICONV(MONTH:"/1/":YEAR,'D')-1
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users