In diesem Tipp erhalten Sie grundlegende Informationen zum Verarbeiten und Bearbeiten von Datums- und Uhrzeitangaben in Perl.
Wenn Sie die Funktion localtime() im skalaren Kontext verwenden, werden Datum und Uhrzeit aus der im System festgelegten aktuellen Zeitzone zurückgegeben. Versuchen Sie das folgende Beispiel, um das aktuelle Datum und die aktuelle Uhrzeit im Vollformat zu drucken:
#!/usr/bin/perl # Beispiel: use CGI::Carp qw(fatalsToBrowser); #################################################### my $datestring = localtime(); print "Content-type: text/html\n\n"; print "Local Datum und Uhrzeit $datestring\n"; } # Ausgabe: # Lokales Datum und Uhrzeit Sun Mar 29 09:57:57 2020 # PS: Die Ausgabe ist in Englisch # Formatieren Sie Datum und Uhrzeit mit der Funktion localtime() können Sie eine Liste mit 9 Elementen abrufen. Später können Sie mit der Funktion printf() Datum und Uhrzeit basierend auf Ihren Anforderungen wie folgt formatieren: my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); printf("Time Format - HH:MM:SS\n"); printf("%02d:%02d:%02d", $hour, $min, $sec); # Hier eine schlichte Umwandlung mit zwei Routinen in die Deutsche Ausgabe: print &GetMyTime(); sub GetMyTime() { my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,$Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = &MyLocalTime($_[0]); my @Wochentage = ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"); my @WochentageK = ("So","Mo","Di","Mi","Do","Fr","Sa"); my @Monatsnamen = ("","Januar","Februar","März","April", "Mai","Juni","Juli","August","September","Oktober","November","Dezember"); if($_[1]==1) { return "$WochentageK[$Wochentag]. $Monatstag.$Monat.$Jahr $Stunden:$Minuten"; } return "$WochentageK[$Wochentag]. $Monatstag.$Monat.$Jahr $Stunden.$Minuten:$Sekunden Uhr"; } sub MyLocalTime() { my $delta=$_[0]; if(!$delta){$delta=0;} my ($sec,$min,$hour,$mday,$mon, $year,$wday,$yday,$isdst) = localtime(time+$delta); $mon+=1; $yday+=1; $hour = "0$hour" if ($hour < 10); $min = "0$min" if ($min < 10); $sec = "0$sec" if ($sec < 10); $mday = "0$mday" if ($mday < 10); $mon = "0$mon" if ($mon < 10); $year = 2000 + ($year - 100); return ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst); } #Mit der Funktion time() können Sie die Epochenzeit abrufen, dh die Anzahl der Sekunden, die seit einem bestimmten Datum vergangen sind. In Unix ist es der 1. Januar 1970. #!/usr/local/bin/perl my $sekunden = time(); print "Anzahl der Sekunden seit dem 1. Januar 1970 - $sekunden\n";
Insgesamt handelt es sich um ein Perl-Skript, das das aktuelle Datum und die Uhrzeit in englischer und deutscher Sprache formatiert und verschiedene Funktionen zur Arbeit mit Datum und Uhrzeit enthält. Bitte beachten Sie, dass Sie möglicherweise Anpassungen am Code vornehmen müssen, um sicherzustellen, dass er ordnungsgemäß auf Ihrem System funktioniert.