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):
# cal 9 1752 September 1752 Sun Mon Tue Wed Thu Fri Sat 1 2 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
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.
Einzelnachweise
- 1 2 cal-Spezifikation der Open Group. Abgerufen am 24. Juni 2014 (englisch).