I often need to know the day of the year in my job. So for fun I decided to write a program for each of my calcs to get this info. Easy enough with a calculator with date support such as a 41C/CV with Time Module or a 41CX or a 48. A little more complex if you don’t have date support. At any rate I had written programs for my 41, 35S, and 42S and had gotten around to taking a look at my 71B.
It took me about 5 minutes from putting in the batteries (I had not played with it in a while) to figure out that this support was built right in. DATE returns YYDDD where YY is the year and DDD is the day of the year. So, no fun here, works right out of the box. I set the correct date and time and keyed in “date” and I got 236 (for 8/23/10)… WOAH! Wrong answer! My 48, 42, 41, and 35 all agree that the correct answer should be 235. I thought about this for a moment and then set the date to 2/28/10. Date = 10059. Ok, all good. Now try 3/01/10. Date = 10061. Uh-Oh. Not so good. It seemed to think that 2010 was a leap year. Ok, so try to ‘setdate “10/02/29”’. Nope, caught that, won’t let it happen. Ok, so ‘setdate 10060’. That works fine. Now try date again. Answer? 10061. Tried the same series of tests for 2011, no problems there. So the calc appears to have a problem with the numeric date routines for 2010 but the setdate routines recognize the fact that 2010 is NOT a leap year just fine. Note that date$ also appears to work correctly in that ‘setdate 10060’ returns the correct string date when DATE$ is used.
I have not bothered to try any other ROM versions which I might get around to a little later as I have a couple more of these beasties.
Cheers,
M. Joury