User Calendar Module


 
Overview
 
 
The USER_CALND is a 4k Module comprising a selection of Calendar-related programs from the PPCCJ, US-UPL and UPL; plus a set of TIME-Module based routines taken from Poul Kaarup’s collection. It’s a mixed bag loosely grouped around the Calendars theme, with a bit of everything.

The table below shows the function names in alphabetical order with a brief description. For access to full documentation and user instructions click on the URLs listed for each program.
 

XROM

 Function

 Description

Author

Source

 18,00
 18,01
 18,02
 18,03
 18,04
 18,05
 18,06
 18,07
 18,08
 18,09
 18
,10
 18,11
 18,12
 18,13
 18,14
 18,15
 18,16
 18,17
 18,18
 18,19
 18,20
 18,21
 18,22
 18,23
 18,24
 18,25

 -USER_CALND
 
7DSZ
  7ISZ
  7P<>S
  "ADOW"
 
AINT
  "BIO"
  "BIOR"
  "CAL"
  “CAL-E“
  "D?M"
 
DAYS
  "DDATE"
  "DOD"
  "DOE"
  ”DOY“

  "M?DD"
  "MAYA1"
  "MAYA2"
  "NM?M"
 
QR
  "SUN"
  “SUN+”

  “WOD”
  "WOW"
 
X=Z?

 Section Header
 HP-67 Decrement & Skip if False
 HP-67 Increment & Skip if false

 HP-67 Primary<> Secondary registers

 DOW to ALPHA

 Append Integer to Alpha

 Plot of Biorhythms

 Biorhythms for Today

 Calendar Plotting (US)

 Calendar Plotting (EU)

 Date of M-Day

 Financial days between Dates

 Days from Date

 Date of day#

 Day of Easter

 Day of Year

 M-days between Dates

 Hp-67 Maya Calendar1

 Hp-67 Maya Calendar2

 N-th. M-day of Month

 Quotient Remainder

 Sunrise, Sunset, Twilight

 Data Loading for 'SUN"

 Week of Date

 Week of Week

 Comparison test

 Ángel Martin
 HP Co.

 HP Co.

 HP Co.

 Ángel Martin

 Frits Ferwerda

 Philippe Beaugrand

 Unknown?

 Roger Hill

 Kris Hendrieckx 

 Poul Kaarup

 HP Co.

 Ángel Martin

 Poul Kaarup

 Poul Kaarup

 Poul Kaarup

 Poul Kaarup

 HP Co.

 HP Co.

 Poul Kaarup

 Ken Emery

 David B. Westcott

 Ángel Martin

 Poul Kaarup

 Poul Kaarup

 Poul Kaarup

This Project

Card Reader ROM

Card Reader ROM

Card Reader ROM

Author's Collection

ML ROM

UPLE# 10411

Swap Disks

PPCCJ  V7 N6 p15

UPLE# 10396

PK Collection

Securities Pack

Author's Collection

PK Collection

PK Collection

PK Collection

PK Collection

hp-67 SolBooks

hp-67 SolBooks

PK Collection

MCODE for Beginners

UPL# 00508C

This Project

PK Collection

PK Collection

PK Collection

 
(*) The HP67-compatible functions are used by the MAYA Calendar programs, a direct port from the HP-67 Calendars Solution Books.

If you’re interested in these subjects you’re also encouraged to see the companion “JMB_Calendar” module, with a collection of Jean-Marc Baillard’s programs taken from his web site.

 

Below is a brief description for some of the functions of the module for your convenience – those without other reference and a few with very similar names from Poul Kaarup’s collection. You’re encouraged to check the documentation provided in the linked documents for all the other functions and programs.


 
ADOW

This is a simple function to put in ALPHA theday of week” 3-letter string returned by function DOW in the TIME Module.

 

DDATE |

This function calculates and displays the date X days from the date in Y - expressed in the current date format.

       STACK

 INPUT/OUTPUT

 OUTPUT/INPUT

Y

MM.DDYYYY

   

X

Number of days

Date1 + X days

Example:   28,022015, ENTER^, 50, XEQ “DDATE     =>       19,042,015 


 

DAYS 

This MCODE function is taken face-value from the HP Securities Pac – where it is totally undocumented or even unlisted in its contents. It seems to calculate the elapsed number of days between 2 dates assuming a financial-standard convention of 360 days per year. The dates must be expressed in MM,DDYYY format, with the earliest date in the Y register and the later one in the X register.    

        STACK

         INPUTS

      OUTPUTS

Y

MM.DDYYYY(1)

Z

X

MM.DDYYYY(2)

No. of Days

L

/

YYYY.MNDD(2)

Example:  Calculate the number of financial days elapsed between July 21, 1959 and October 18, 2015.

10.182015,  ENTER^,  7,211959  ,  XEQ “DAYS”  => 20,539.00


Note: using the
JDAY function from the JMB_CAL module we can obtain the accurate natural number of days between these dates, via a conversion to Julian number and a simple subtraction of those:

10.182015,  XEQ “JDAY”  => 2,457,314.00
7,211959  ,  XEQ “JDAY”  => 2,436,771.00       Thus: Delta = 20,543.00

 

DOD:  Date of a Day within year

Calculates the date of a day number in a year

Prompts Y


D input year and day number

The Date is placed in the display.

Example: Input of 2015 and 70 gives 11.032015 i.e. march 11th 2015.

 

DOY:  Day within year for a given Date

Returns the day number in the year (1-365) for a given date. Requires FIX2 and DMY format.

Prompts DATE? -> Input a date in the form dd,mmyyyy or press for today.

The day number is placed in X

Example:  Input of 11.032015 gives 70
i.e. march 11th of 2015 is day number 70 of that year



D?M:  When is an M-day after a given Date?

M-day is defined as specific day within a week, starting on Sunday:
i.e. sun=0, mon=1, tue=2, wed=3, thu=4, fri=5, and sat=6

Prompts DAY?          -> Input (sun=0, mon=1, tue=2, wed=3, thu=4, fri=5, sat=6)
Prompts DATE?         -> Input date in format dd,mmyyy

Displays the date

Example: Input of 2 and 27.022015 gives 27.02.2018 as the next Tuesday on a 27.02

 

MD?D:  How many M-days between to dates?
Requires DMY format. The routine will prompt for the values, as follows:

Prompts DAY?          -> Input d# (sun=0, mon=1, tue=2, wed=3, thu=4, fri=5, sat=6)
Prompts DATE1?       -> Input the first (earlier) date
Prompts DATE2?       -> Input the second (later) date

Calculates the number

Example: Input of 3, 27,022015 and 24,042015 gives 8,00
i.e. there are 8 Wednesdays between the dates

 

NM?M:  When is the n-th. M-day of a specific month?
Requires DMY format. The routine will prompt for the values, as follows:

Prompts DAY?          -> Input d# (sun=0, mon=1, tue=2, wed=3, thu=4, fri=5, sat=6)
Prompts N?                -> Input the number n
Prompts M,Y?            -> Input month and year,

Displays the result date

Example: Input of 4, 2 and 5,2015 gives 14.15.2015 as the 2nd Thursday in May 2015

   
WOD:  Week of Date

Calculates what week number a certain date is in  Requires DMY format.

Prompts DATE?         -> Input a date in the form dd,mmyyyy or press for today.

The week number is placed in X.

Example:  Input of 11.032015 gives 11, i.e. march 11th of 2015 is in week number 11 of that year

 

WOW:  Week of Week

Calculates the dates of a specific week in a specific year

Prompts W^D? -> Input a week number and a year.

Displays the start-date and end-date of the week.

Example:  Input of 9 and 2015 gives 23.02-01.03.15