21

I have an old printout of a Fortran code.

It's a simple code intended for educational purposes.

The header is:

FORTRAN IV G LEVEL 21, MAIN, DATE=74029, 15/28/03, PAGE 001

I assume it's from an IBM mainframe in Israel, if it helps. I don't know what system.

Does anyone know when was it printed?

7
  • 1
    Should be much older than that. I got a suggestion that the date is the 29th day of 1974 which makes sense but I am not sure. Jul 21, 2022 at 8:10
  • 2
    @HananCohen Perhaps it is the 29th week of the year. Not the 29th day. This was a standard already well-established for ICs by 1974. But the '0' does give me some question. So perhaps you may also be right.
    – jonk
    Jul 21, 2022 at 8:38
  • 10
    The date format used at that time was YYDDD. Jul 21, 2022 at 9:50
  • 4
    (Potentially) Interesting aside: the YYDDD format is still used in BACS files as part of the UK's electronic payment systems.
    – TripeHound
    Jul 21, 2022 at 21:39
  • 5
    And we still have a way to format that in many standard libraries, for example, C and Java - as %y%j. Jul 22, 2022 at 11:25

1 Answer 1

30

TL;DR: DATE=74029 reads as: Year (19)74, Day 029 (Jan 29th),

It's an Ordinal Date in truncated form, expressed in terms of 2 digit year and 3 digit day of the year.

Does anyone know when was it printed?

No. That would have been noted on the spool header page. Date/time on each listing page, which this seems to be, is the date/time the compilation was done. Printing could have happened at any later moment in time - and usually was - depending on numbers of printers available, spool queue and, most important, when the computing center had decided to let them run at all (*1)


Details

It was and still is the base format in many mainframe applications as it avoids all pitfalls of date notation. Kind of an early form of internationalization. In addition it's quite helpful for date calculation, especially in scripting (JCL), as it takes out the irregularity of month length (*2).

In daily EDP life this was confusingly called a Julian Date. Confusingly, as in Astronomy a Julian Date is a Julian Day including time expressed as a fractional number. A definition way older than any modern digital computer (*3).

Today's JDATE structure is, like all date formats defined in ISO 8601 (Full PDF) as

  • 4 digit years
  • optional hyphen
  • 3 digit day of year

Additionally there's the truncated form (section 5.2.2 on p.13) using two digits for year:

  • 2 digit years
  • optional hyphen
  • 3 digit day of year

This one and without hyphen is what was the major date format within the mainframe world. Sometimes delivered by system calls as part of a combined format as mmddYYDDD, with mm and dd being month and day within a month. Within applications usually the YYDDD format was used, while user visible output was constructed from the mmddYY part, according to whatever [date format]87] the target audience preferred.

It's quite well supported in modern standard libraries :))


*1 - Considering the noise a chain printer, even when covered, produces, some computing centers did only print at specific times - also, printers do need some handling, so personnel had to be present.

*2 - No, no mainframe programmer in his real mind would use any of the complicated formulas/algorithms presented by Wikipedia. They may all have their theoretical benefits, but real world programmers made simply a table of 12 integers holding the day number for the first of each month minus 1, reducing it to a simple indexing operation and addition of the day of month, corrected by +1 for leap years.

=Y(0,31,59,90,120,151,181,212,243,273,304,334)

*3 - Another time computer jargon picked up some well defined term and mangled it for worse, just to later state its interpretation is the only one :)) I, for example, only learned about the astronomical definition way later - in fact, for long time I took the computer version as being the same.

5
  • 1
    And what is 15/28/03?
    – dirkt
    Jul 21, 2022 at 11:28
  • 8
    @dirkt Simply the time of compilation. 15 Uhr 28 und 3 Sekunden :))
    – Raffzahn
    Jul 21, 2022 at 11:32
  • 1
    Wikipedia doesn't even list a source for those algorithms (Zeller?)
    – qwr
    Jul 22, 2022 at 5:06
  • 2
    @dirkt - why, the 15th day of the 28th month of 1903, of course. Jul 22, 2022 at 10:55
  • 3
    @dirkt About 0.179 . Jul 23, 2022 at 17:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .