weekday, a FORTRAN90 code which determines the day of the week corresponding to a given date; for instance, the battle of Hastings, on 14 October 1066 (Julian Calendar!), was a Saturday.


The computer code and data files described and made available on this web page are distributed under the MIT license


weekday is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:


analemma, a FORTRAN90 code which evaluates the equation of time, a formula for the difference between the uniform 24 hour day and the actual position of the sun, based on a program by Brian Tung.

calendar_nyt, a FORTRAN90 code which shows the correspondence between dates and the New York Times volume and issue number;

calendar_rd, a C++ program which computes the representation of a given date in a number of calendrical systems, by Edward Reingold, Nachum Dershowitz

calpak, a FORTRAN90 code which makes various calendar calculations;

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.

test_values, a FORTRAN90 code which supplies test values of various mathematical functions.


  1. Lewis Carroll (Charles Dodgson),
    To Find the Day of the Week for Any Given Date,
    Nature, 31 March 1887.
  2. Gary Meisters,
    Lewis Carroll's Day-of-the-Week Algorithm,
    Math Horizons,
    November 2002, pages 24-25.
  3. Edward Reingold, Nachum Dershowitz,
    Calendrical Calculations: The Millennium Edition,
    Cambridge University Press, 2001,
    ISBN: 0-521-77752-6,
    LC: CE12.R45.
  4. Edward Richards,
    Mapping Time, The Calendar and Its History,
    Oxford, 1999,
    ISBN: 0-19-850413-6,
    LC: CE11.R5.

Source Code:

Last revised on 27 November 2022.