My Date Utility Programs

This library is a combined collection of code from various sources that I have just merged into usefull programs in the attempt to get any date information I need easily.

I had a lot of programs doing their own date routines, some needing julian dates, some gregorian; and finally I needed to know what day of the week a date was... (wikipedia has some examples of how to work that out) and I decided I was not replicating that between programs; so have merged everything into one library that returns everything about a date that I could use; and I am changing all my programs to use this library instead of doing it themselves.

These utility programs are designed to be called from other assembler programs, not to be run directly. To make it easy to use there are only two user macros. One to define/map the data area and the other to work out what module needs to be called for you.

Note: this copy is generally more up-to-date than the github version as enhancements and bugfixes are applied here first.

General Use

It is designed to be simple to use. All the key programs are easily accessable via a simple macro call to UDATEMAC to request the function to be preformed, the macro will determine what program is to be called based on the request. The only other thing you need is a data are (dsect or inline) mapped by UDATEVAR to address the returned valued by field name.

Functions available

The programs used by UDATEMAC provided in this library will return text displayable values describing a date and time for the following request types

There are macros that may be used inline where calling a program may be overkill to

All the programs currently in this library (with the exception of sched002 which has a totally different purpose) will all always return the following date information as character fields in a mapped DSECT for easy reference (see the UDATEVAR macro used to map the data area).

The supplied dataset member TESTALL shows how to request each of the available standard UDATEnnn functions using the supplied macros. Additional test jobs are provided for macro-only and scheduler module testing; I may merge them into testall later.

Additional non-core Functionality added for scheduling

Obviously if there is a date library, the best way to show that it is usable is by writing a scheduler; stable eneough that it is the job scheduler I now use on my system :-).

Download Location

If interested download the current datetime library.

This utility library will grow over time as I find more functions I need, for example I may one day handle 'TIME BIN' format, and maybe even take a passed text date and return STCK or TIME values; but I don't need them yet :-).

So keep an eye on this page.