Cal (Unix)
# Cal (Unix)

cal ist ein Standardprogramm unter UNIX und UNIX-ähnlichen Betriebssystemen, das einen Kalender auf dem Standard-Ausgabekanal ausgibt. Sein Funktionsumfang und sein Verhalten ist durch den POSIX-Standard festgelegt.

## Geschichte

cal ist eines der ältesten Unix-Programme überhaupt. Es war bereits in der allerersten AT&T UNIX Version 1 (auf der PDP-7) vorhanden.

## Verhalten

Der POSIX-Standard sieht – neben dem für Kommandozeilen-Programme üblichen Ein- und Ausgabeverhalten – vor, dass für Daten zwischen dem 1. Januar des Jahres 1 und dem 2. September des Jahres 1752 der julianische, ab dem 14. September 1752 bis zum 31. Dezember 9999 hingegen der gregorianische Kalender ausgegeben wird. Insbesondere liefert der Monat der Umstellung – September 1752, was der Kalenderreform in den angelsächsischen Ländern entspricht – die Ausgabe (AIX 7.1.3 SP3, LANG=C):

Für Daten v. u. Z. bzw. ab dem 1. Januar 10000 ist das Verhalten von cal nicht spezifiziert. Seine Funktionsweise wird durch locale-Variablen wie auch die eingestellte Zeitzone (Environment-Variable TZ) beeinflusst.

cal verwendet ausdrücklich vierstellige Jahreszahlen. Das Kommando "cal 99" liefert weder den Kalender für 1999 noch für 2099, sondern den für 99 u. Z.

