The Museum of HP Calculators
This program is by Andy Schick and is used here by permission.
This program is supplied without representation or warranty of any kind. Andy Schick and The Museum of HP Calculators therefore assume no responsibility and shall have no liability, consequential or otherwise, of any kind arising from the use of this program material or any part thereof.
Also included here is a second reduced size version of the program so date calculations can still be performed and leave room in the calculator’s 384 bytes of memory to also be able to run the Time Value of Money (TVM) equation for the HP Solver. With the reduced code, you loose the ability to convert a Julian Day Number back to a Date, but you can still calculate the days between two dates, determine the day of week, have the MOD function, and still calculate your Intellectual Biorhythm.
The date calculations use the formulas published by HP for the hp-67 in 1976. The program is original code written by Andy Schick.
The TVM equation is below and can be entered as an equation to be solved with the HP Solver. No further TVM or HP Solver instructions are provided here.
To save memory, this date program uses the same variables as in the TVM equation.
The specific functions are as follows:
XEQ C Just a function to initialize Julian numbers.
XEQ N Convert a Date in the format of mm.ddyyyy to a Julian Day Number.
XEQ A, E, F, G, H, I Just secondary labels with no useful purpose to the user.
XEQ D Convert a Julian Day number to a Date in the format mm.ddyyyy.
XEQ M Modulo (MOD) function.
XEQ W Calculate the Day of Week from Julian Day Number. (S=0, M=1, T=2, W=3, Th=4, F=5, Sa=6).
XEQ B From days old, determine Physical, Intellectual, and Emotional Biorhythm numbers.
Example 1. Using the Modulo (MOD) function. 14 MOD 5 = 4.
14 ENTER 5 XEQ M X stack register now displays the answer 4.Example 2. Calculating the number of days old a person is. If today is Dec 27 2006, and a person was born on Feb 13 1962.
12.272006 XEQ N X stack register now displays 2,454,097. 2.131962 XEQ N X stack register now displays 2,437,709. - X stack register now displays 16388, the age of the person in days.
Example 3. Calculation of Biorhythm numbers.
With 16388 still in the X stack register:
XEQ B Now displayed is P= -14. This is the persons Physical Biorhythm number. The range is from a low of 100 to a high of +100. R/S Now displayed is I= -62. This is the persons Intellectual Biorhythm number. R/S Now displayed is E= 97. This is the persons Emotional Biorhythm number. R/S The display returns to FIX 4 mode.
Example 4. To calculate what date is 1000 days after May 24 1985.
5.241985 XEQ N X stack register now displays 2,446,210. 1000 + XEQ D X stack register now displays the calculated date 2.181988.
Example 5. What day of week was Dec 31 1999?
12.311999 XEQ N XEQ W X stack register now displays 5. (S=0, M=1, T=2, W=3, Th=4, F=5, Sa=6). It was a Friday.To have full Date to/from Julian Day Number calculation capability and no TVM capability enter the code listed below.
Program checksum and size info. Total program size is 288.0 Bytes.
C CK= 1955 36.0 N CK= F723 43.5 A CK= 8660 4.5 F CK= 7AB9 27.0 D CK= CBD8 63.0 E CK= 21EF 4.5 G CK= 3F39 10.5 H CK= C554 19.5 M CK= 2330 19.5 W CK= F42C 9.0 I CK= 5B29 24.0 B CK= 9DA6 27.0Program variables: B, D, E, F, I, N, P.
LBL C 365.25 STO B 30.6001 STO D 1,720,982 STO E RTN LBL N X⇔Y STO N R↓ ENTER IP STO I R↓ FP 100 × ENTER IP STO F R↓ FP 4 1OX × STO P RCL I 2 X<Y? GTO A 13 STO+ I 1 STO- P GTO F LBL A 1 STO+ I LBL F XEQ C RCL P RCL B × IP RCL I RCL D × IP + RCL F + RCL E + RCL N X⇔Y RTN LBL D RCL E - STO F 122 - 10 1/X - RCL B ÷ IP STO P RCL B × IP +/- RCL F + RCL D ÷ IP STO I RCL D × IP RCL P RCL B × IP + +/- RCL F + STO F 14 RCL I X<Y? GTO E 13 STO- I GTO G LBL E 1 STO- I LBL G RCL I 2 X<Y? GTO H 1 STO+ P LBL H RCL P 6 10X ÷ RCL F 100 ÷ + RCL I + FIX 6 RTN LBL M STO I X⇔Y STO P X⇔Y ÷ IP RCL I × RCL P X⇔Y - RTN LBL W 1 + 7 XEQ M RTN LBL I STO I RCL B X⇔Y XEQ M RCL I ÷ 180 × 2 × SIN 100 × RND RTN LBL B DEG FIX 0 STO B 23 XEQ I STO P VIEW P 33 XEQ I STO I VIEW I 28 XEQ I STO E VIEW E FIX 4 RTN
To have date calculation capability, without Julian Day Number to Date capability, and still have memory space to run the TVM equation, enter only the code listed below.
Program checksum and size info. Total program size is 147.0 Bytes. N CK= F723 43.5 A CK= 8660 4.5 F CK= CB54 49.5 M CK= 2330 19.5 W CK= F42C 9.0 I CK= 8F99 21.0
Program variables: F, I, N, P.
With this reduced version there is no longer functions D or B, but there is new function I. XEQ I From days old, determine Intellectual Biorhythm number.
LBL N X⇔Y STO N R↓ ENTER IP STO I R↓ FP 100 × ENTER IP STO F R↓ FP 4 1OX × STO P RCL I 2 X<Y? GTO A 13 STO+ I 1 STO- P GTO F LBL A 1 STO+ I LBL F RCL P 365.25 × IP RCL I 30.6001 × IP + RCL F + 1,720,982 + RCL N X⇔Y RTN LBL M STO I X⇔Y STO P X⇔Y ÷ IP RCL I × RCL P X⇔Y - RTN LBL W 1 + 7 XEQ M RTN LBL I DEG 33 XEQ M 33 ÷ 180 × 2 × SIN 100 × RTN