Artikel im Internet unter http://www.hidemail.de/blog/datum-uhrzeit-perl.shtml.
Sonntag, 25.3.2007, 00:03:53 Uhr

Uhrzeit und Datum bestimmen in Perl


Wie man bei time gesehen hat, ist Perl ja durchaus in der Lage, die Systemzeit auszugeben. Aber die Zeit in Sekunden seit 1.1.1970 bringt einen nicht wirklich weiter...
Deswegen gibt es in Perl noch die Funktion localtime(). Man kann der Funktion localtime einen beliebigen Wert übergeben, der kompatibel ist zu time ist, und localtime errechnet daraus Tag, Stunde, Minute, Sekunde, Monat, Jahr, Wochentag, Jahrestag und Sommerzeit.

use strict;

my %zeit=&Aktuelle_Zeit;
my $wzsz='';
if ($zeit{sommerzeit} == 0){$wzsz="Winterzeit";} else { $wzsz="Sommerzeit";}
print "$zeit{wochentagtext}, $zeit{tag}.$zeit{monat}.$zeit{jahr}, $zeit{stunde}:$zeit{minute}:$zeit{sekunde} Uhr $wzsz";

############
# Zeit- und Datumsfunktion
#################################
sub Aktuelle_Zeit{
my @wochentage = ("Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag");
my @monatsnamen = ("","Januar","Februar","März","April", "Mai","Juni","Juli","August","September","Oktober", "November","Dezember");
my ($sec,$min,$hour,$heutetag,$heutemonat,$heutejahr,$wday,$yday,$isdst) = localtime(time);
$heutemonat++;
$heutejahr+=1900;
$wday--;
if ($wday eq '-1'){$wday=6;}

$hour="0$hour" if (length($hour) == 1);
$min="0$min" if (length($min) == 1);
$sec="0$sec" if (length($sec) == 1);

my %werte=();
$werte{stunde}=$hour;
$werte{minute}=$min;
$werte{sekunde}=$sec;
$werte{tag}=$heutetag;
$werte{monat}=$heutemonat;
$werte{jahr}=$heutejahr;
$werte{wochentag}=$wday;
$werte{jahrestag}=$yday;
$werte{sommerzeit}=$isdst;

my $tagalstext=$wochentage[$wday];
$werte{wochentagtext}=$tagalstext;

my $monatalstext=$monatsnamen[$heutemonat];
$werte{monattext}=$monatalstext;
return %werte;
}


Ich habe mal ne kleine Subroutine geschrieben, die als Rückgabewert ein Hash zurückgibt, das alle Werte enthält. Mit diesem Unterprogramm kann man auf leichte Weise die aktuellen Zeit- und Datumsdaten abfragen und ausgeben.

Die einzelnen Werte findet man im Hash unter:
- stunde
- minute
- sekunde
- tag
- monat
- jahr
- wochentag: 0 (Montag) - 6 (Sonntag)
- jahrestag: Wievielter Tag des Jahres
- sommerzeit: ist Sommerzeit?
- tagalstext: Wochentag als Text
- monatalstext: Monat als Text


Artikel im Internet unter http://www.hidemail.de/blog/datum-uhrzeit-perl.shtml.