calendar_nyt, a FORTRAN90 code which attempts to determine the date, given the volume and issue number of an edition of the New York Times, or vice versa.
You might think that all that is required is to figure out the first date of issue, and then count the number of days that have elapsed from then to the date of interest, to get the issue number. That's why I thought too, but it's not that simple by any means!
The routines YMD_TO_NYT and JED_TO_NYT are fairly trustworthy. The first routine immediately refers to the second, which has been compared to a sample of issue numbers of all the front pages issued in a recent commemorative book. The actual details of how the issue number was occasionally garbled, held back, or incremented involve about 30 corrections to the simplistic idea of counting the number of days from the first issue.
The "inverse" routines NYT_TO_JED and NYT_TO_YMD work from about 1905 onwards, after which there were only two disruptions to the simple issue incrementing. Before that time, the formula has not been "educated" about the various irregularities in the issue numbering system.
The routine JED_TO_NYT_ISSUE_IDEAL assigns to each successive issue of the New York Times a unique identifier, namely, its sequence number. This is what the nominal issue number was supposed to do. Using this function, we can see that the actual number of issues of the New York Times printed from the beginning up to 1 April 2008 was not 54,267, (the nominal issue number) but instead 56,570!
The computer code and data files described and made available on this web page are distributed under the MIT license
calendar_nyt is available in a FORTRAN90 version and a MATLAB version.
CALPAK, a FORTRAN90 code which converts between dates as computed on various calendars.
DATES, a dataset directory which contains lists of dates in various calendar systems.
DOOMSDAY, a FORTRAN90 code which is given the year, month and day of a date, and uses John Conway's doomsday algorithm to determine the corresponding day of the week.
WEEKDAY, a FORTRAN90 code which determines the day of the week for a given day.