Re: It it now a leap year?

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

 



Antonio Olivares wrote:
 ----- Original Message ----
From: Karl Larsen <k5di@xxxxxxxxxx>
To: For users of Fedora <fedora-list@xxxxxxxxxx>
Sent: Wednesday, August 8, 2007 5:07:49 PM
Subject: Re: It it now a leap year?

Mike - EMAIL IGNORED wrote:
On Thu, 09 Aug 2007 06:02:27 +0930, Tim wrote:

Andrew Parker:
For bash the following will display 061 if its currently a leap year,
060 otherwise

date -d "$(date +%Y)/03/01" +%j
Kevin J. Cummings:
It doesn't work with dates after 2037/03/01 ....
Leaving you with thirty years to develop a solution, or spend a few
minutes pondering whether to bother...  ;-)

But seriously, although some might think you don't need to worry about
such things, there are programs that will need to do some work using a
date from the future.  The matter is more urgent than immediately
obvious.

[...]

My program deals only with the present and the immediate past.
Since in 30 years I hope to celebrate (?) my 98th, it would be
quite interesting to see if the problem still concerns me. :)

Mike.


In a terminal type $cal 2 2008 and you will see February has 29 days when it is leap year according to Google. Do $cal 2 2007 and you will see this:

[karl@k5di ~]$ cal 2 2007
    February 2007
Su Mo Tu We Th Fr Sa
              1  2  3
  4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28

So no leap year in 2007


--

    Karl F. Larsen, AKA K5DI
    Linux User
    #450462   http://counter.li.org.

--

I like your solution Karl. Not to make less of the other answers provided. Rick provided a C+ program which is awesome. I like all the answers. But Karl's way of looking at it, in a leap year February has 29 days, so check by generating a calendar for the month of February month 2 and the year and if it has 29 days, it is a leap year, if it does not then no leap year. No need to worry about if the year ends in two zeros, which is divisibe by 100 without a remainder. If the number of the year ends in a 4,8,12,16,20,24, any multiple of 4, it is a leap year. There is a rule cal 2 year where year is a number from 1 to 9999 after that the program does not work.
1700 is a leap year, 1704,1708,1712,1716, ... and so on

The rule if year modulo 400 is 0 then leap
 else if year modulo 100 is 0 then no_leap
 else if year modulo 4 is 0 then leap
 else no_leap
where modulo is the remainer when the year  divided by 400 is 0, leap year
 else if the remainder is zero when the year is divided by a 100, leap year
    else if the remainder is zero when the year is divided by 4, then leap yaer
       else no leap year

[olivares@localhost ~]$ cal --help
cal: invalid option -- -
usage: cal [-13smjyV] [[month] year]
[olivares@localhost ~]$ cal 99999
cal: illegal year value: use 1-9999
[olivares@localhost ~]$ cal 2 1700
February 1700 Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29

[olivares@localhost ~]$ cal 2 1704
February 1704 Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29

[olivares@localhost ~]$ cal 2 1708
February 1708 Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29

[olivares@localhost ~]$ cal 2 1712
February 1712 Su Mo Tu We Th Fr Sa
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29

[olivares@localhost ~]$

..., every 4 years, there is a guaranted leap year! Unless we die of course, there is no leap year for us. Great solution Karl!
Regards,

Antonio





____________________________________________________________________________________ Be a better Heartthrob. Get better relationship answers from someone who knows. Yahoo! Answers - Check it out. http://answers.yahoo.com/dir/?link=list&sid=396545433

	glad you like it. The cal program is VERY powerful.


--

	Karl F. Larsen, AKA K5DI
	Linux User
	#450462   http://counter.li.org.


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux