DI Management Home > Utilities > A Windows version of the cal utility

A Windows version of the cal utility


cal.exe is a Windows version of the Debian cal utility that displays a simple calendar in traditional format.

Introduction | Syntax | Download | Contact us

Introduction

This Windows version of cal just does English names. No colors. No special dates, anniversaries, appointments. Includes the -A and -B options to add months after and before, and the ncal -M and -S options to set the weeks to begin on Monday or Sunday (default). Valid for years 1 to 9999 with the Julian/Gregorian changeover happening on 2 September 1752. Example:

> cal -3
    August 2025           September 2025          October 2025
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                1  2       1  2  3  4  5  6             1  2  3  4
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    5  6  7  8  9 10 11
10 11 12 13 14 15 16   14 15 16 17 18 19 20   12 13 14 15 16 17 18
17 18 19 20 21 22 23   21 22 23 24 25 26 27   19 20 21 22 23 24 25
24 25 26 27 28 29 30   28 29 30               26 27 28 29 30 31
31

Syntax

Usage: 
cal [general options] [-y] [[month] year]
cal [general options] [-m month] [year]
General options: [-31MS] [-A months] [-B months] [-d yyyy-mm]

The options are as follows:
-m <month> Display the specified month specified as a decimal number.
-y Display a calendar for the specified year. This option is implied when a year but no month is specified on the command line.
-3 Display the previous, current and next month surrounding today.
-1 Display only the current month. This is the default.
-d <yyyy-mm> Use yyyy-mm as the current date (for debugging of date selection).
-A <number>
    Months to add after. The specified number of months is added to the end of the display. 
    This is in addition to any date range selected by the -y, -3, or -1 options. 
    For example, "cal -y -B2 -A2" shows everything from November of the previous year to February of the following year. 
    Negative numbers are allowed, in which case the specified number of months is subtracted. 
    For example, "cal -y -B-6" shows July to December. And "cal -A11" simply shows the next 12 months.
-B <number>
    Months to add before. The specified number of months is added to the beginning of the display. See -A for examples.
-M  Weeks start on Monday.
-S  Weeks start on Sunday. This is the default.

A single parameter specifies the year (1-9999) to be displayed. Note the year must be fully specified: "cal 89" will not display a calendar for 1989. Two parameters denote the month and year; the month must be a number between 1 and 12.

Month and year default to those of the current system clock and time zone (so "cal -m 8" will display a calendar for the month of August in the current year).

Not all options can be used together. For example, the options -y, -3, and -1 are mutually exclusive. If inconsistent options are given, the later ones take precedence over the earlier ones.

A year starts on January 1.

Download

cal-20250911.zip compiled 2025-09-11.

The package includes a 32-bit executable cal.exe which should work on any modern Windows system. Just copy the file to a directory where Windows will find it. There is a separate 64-bit version compiled for an X64 platform in case you need that.

cal-20250911.zip
|   cal.exe
|   LICENSE.txt
|   README.md
|   sha1sums.txt
|
\---X64
        cal.exe
        README.txt
        sha1sums.txt

These executables are licensed under the BSD 2-Clause License.

Install

To install, just copy the file cal.exe to a folder on your Windows PATH, for example C:\Windows. You may need administrator permissions to do this. We recommend you set up a C:\Bin directory for files like this.

Contact us

To contact us or comment on this page, please send us a message.

This page first published 11 September 2025. Last updated 11 September 2025