[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Leap year algorithm needed



stever@gate.net (Steve Reeves) writes:

>In article <37137073.81146F30@ix.netcom.com>, Nick wrote:
>>if(!(year % 400) || (!(year % 4) && (year %100))) thisyear=leapyear;

>Its a little more efficient to do the division by 4 first:

>if (!(year % 4) && ((year % 100) || !(year % 400))) is_leap_year = TRUE;

But do not forget to set is_leap_year = FALSE before the above code...

Alternatively:

is_leap_year = (!(year % 4) && ((year % 100) || !(year % 400)));

or

is_leap_year = year % 4 ? 0 : (year % 100 ? 1 : (year % 400) ? 0 : 1);
--
David Wilson  School of IT & CS, Uni of Wollongong, Australia  david@uow.edu.au