Post Reply 
(HP-65) Date Functions
01-03-2020, 04:11 PM
Post: #1
(HP-65) Date Functions
These programs are mostly adapted from the HP-67 Standard Pac calendar functions card SD-04A (or at least the algorithms are; the program code is quite different). You will need to use two cards, or write to both sides of a single card, which seems to work fine.

Recommended key labels:

Card 1
A: ΔDAYS
B: DT→D#
C: DT→DOW
D: D#→DOW

Card 2
A: D#→DT
B: ΔD→ΔW.D

Calculations are accurate for dates between Mar. 1, 1900 through Feb. 28, 2100. Some limited calculations outside this range can be done accurately, but the program incorrectly treats all years divisible by 100 as leap years, whereas years divisible by 100 but not divisible by 400 are not leap years. Day-of-week calculations will be incorrect outside the supported date range.

Usage

All dates are entered in MM.DDYYYY format. You may ignore any instructions to load a card if that card is currently already loaded.


Calculate the number of days between two dates
Load card 1. Enter the earlier date, press ENTER, enter the later date, and press A. The number of days will be returned in X.

Example:
How many days remaining until the 2020 US elections?
1.032020 ENTER
11.032020 A: 305


Calculate a day number for a given date
Load card 1. Enter the date into X, and press B. The day number will be returned in X. The value in the Y register will be preserved.

Example:
What is the day number of the 2020 summer solstice in the northern hemisphere?
6.202020 B: 738039

These day numbers can be used with card 2 to calculate future/past dates relative to a starting date. If you wish to convert the day numbers used by this program to Julian day numbers, simply add 1720982.


Calculate the day of the week for a given date
Load card 1. Enter the date into X, and press C. The day of the week will be returned in X. Sunday is 0, Monday is 1, proceeding through Saturday, which is 6.

Example:
What day of the week is the 2020 vernal equinox in the northern hemisphere?

3.192020 C: 4 (Thursday)


Calculate the day of the week for a given day number
Load card 1. With the day number in X (e.g. after computing a day number by pressing B), press D to calculate the day of the week. Output is the same as converting a date to the day of the week.


Calculate the date a given number of days before/after a starting date
Load card 1. Enter the starting date into X, and press B to compute the day number. Optional: save this day number in R7 or R8 if you intend to do multiple calculations with the same starting date.

Load card 2. Perform addition/subtraction on the day number in X. Optional: save the new day number in R7 or R8 if you wish to calculate multiple intervals. Press A and the new day number in X will be converted to a date in MM.DDYYYY format and returned in X. If you saved a day number in R7 or R8, you may recall the number and perform additional calculations/conversions.

Example:
What will be the date 57 days from now? 90 days from now?

Load card 1.
1.032020 B: 737870
STO 7
Load card 2.
57 +: 737927
A: 2.292020 Feb. 29, 2020 (Note: you may need to press DSP . 6 to see the full date.)
RCL 7: 737870
90 +: 737960
A: 4.022020 Apr. 2, 2020


Calculate the number of weeks + days between two dates
Load card 1. Enter the earlier date, press ENTER, and enter the later date. Press A to calculate the number of days between the two dates. Load card 2. Press B to convert the number of days to number of weeks + days in W.D format.

Example:
How many weeks + days until June 1st?

Load card 1.
1.032020 ENTER
6.012020 A: 150
Load card 2.
B: 21.3 (21 weeks and 3 days)


Program Code

Code:
CARD #1

LBL     23
A       11
B       12
g x><y  35 07
B       12
-       51
RTN     24
LBL     23
B       12
g X><Y  35 07
STO 1   33 01
g X><Y  35 07
ENTER   41
f       31
INT     83
STO 2   33 02
-       51
EEX     43
2       02
*       71
ENTER   41
f       31
INT     83
STO 3   33 03
-       51
EEX     43
4       04
*       71
STO 4   33 04
2       02
RCL 2   34 02
g x>y   35 24
GTO     22
1       01
1       01
3       03
STO     33
+       61
2       02
1       01
STO     33
-       51
4       04
GTO     22
6       06
LBL     23
1       01
1       01
STO     33
+       61
2       02
LBL     23
6       06
RCL 4   34 04
3       03
6       06
5       05
.       83
2       02
5       05
*       71
f       31
INT     83
RCL 2   34 02
3       03
0       00
.       83
6       06
0       00
0       00
1       01
*       71
f       31
INT     83
+       61
RCL 3   34 03
+       61
RCL 1   34 01
g X><Y  35 07
RTN     24
LBL     23
C       13
B       12
LBL     23
D       14
5       05
+       61
ENTER   41
ENTER   41
7       07
/       81
f       31
INT     83
7       07
*       71
-       51
RTN     24


CARD #2

LBL     23
A       11
STO 1   33 01
1       01
2       02
2       02
.       83
1       01
-       51
3       03
6       06
5       05
.       83
2       02
5       05
STO 5   33 05
/       81
f       31
INT     83
STO 4   33 04
RCL 1   34 01
RCL 4   34 04
RCL 5   34 05
*       71
f       31
INT     83
STO 5   33 05
-       51
3       03
0       00
.       83
6       06
0       00
0       00
1       01
STO 6   33 06
/       81
f       31
INT     83
STO 2   33 02
RCL 1   34 01
RCL 5   34 05
-       51
RCL 6   34 06
RCL 2   34 02
*       71
f       31
INT     83
-       51
STO 3   33 03
RCL 2   34 02
1       01
-       51
1       01
2       02
g x><y  35 07
g x>y   35 24
g x><y  35 07
-       51
STO 2   33 02
2       02
g x><y  35 07
g x>y   35 24
GTO     22
1       01
1       01
STO     33
+       61
4       04
LBL     23
1       01
RCL 4   34 04
EEX     43
4       04
/       81
RCL 3   34 03
+       61
EEX     43
2       02
/       81
RCL 2   34 02
+       61
RTN     24
LBL     23
B       12
7       07
/       81
ENTER   41
f-1     32
INT     83
-       51
g LSTX  35 00
.       83
7       07
*       71
+       61
RTN     24
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
(HP-65) Date Functions - Dave Britten - 01-03-2020 04:11 PM
RE: (HP-65) Date Functions - Don Shepherd - 01-03-2020, 04:23 PM
RE: (HP-65) Date Functions - Dave Britten - 01-03-2020, 04:46 PM
RE: (HP-65) Date Functions - Albert Chan - 01-04-2020, 01:03 PM



User(s) browsing this thread: 1 Guest(s)