23:30Uhr + 24Stunden = ? (Zeitrechnung)
Torwächter
- perl
Hallo zusammen,
ich stelle diese Frage nicht zum ersten mal, doch habe ich bei den letzten Threats nie eine brachbare Antwort bekommen, daher versuche ich es nochmal.
Ich möchte einen Userbereich erstellen, welcher mit Perl,htaccess und htpasswd arbeitet. Dieser Bereich soll nur 1 Tag (24 Stunden) besuchbar sein. Daher muss ich das aktuelle Datum bzw. Uhrzeit einlesen und um 24Stunden vorstellen, doch nur wie ? oder hat einer eine andere Idee ?
Greetings
Torwächter
hi!
Ich möchte einen Userbereich erstellen, welcher mit Perl,htaccess
und htpasswd arbeitet. Dieser Bereich soll nur 1 Tag (24 Stunden)
besuchbar sein. Daher muss ich das aktuelle Datum bzw. Uhrzeit
einlesen und um 24Stunden vorstellen, doch nur wie ? oder hat einer
eine andere Idee ?
Das geht relativ einfach: Perl verwendet zur Zeitrechnung wie Unix die
Anzahl der Sekunden seit dem 1. Januar 1970. Wenn du die Funktion
time() aufrufst, erhälst du den aktuellen Wert dieses Zählers:
% perl -e "print time();"
1024185241
Wenn du jetzt die Funktion localtime() mit einem Sekundenwert
fütterst, erhälst du den ausgewerteten Zeitpunkt.
% perl -e "print scalar localtime(time());"
Sun Jun 16 01:54:01 2002
Du musst also nur diesen Sekundenwert um 24 Stunden "vorstellen",
dann erhälst du den korrekten Zeitpunkt:
% perl -e "print scalar localtime(time()+24*60*60);"
Mon Jun 17 01:54:01 2002
Du lässt localtime() also einfach für einen in der Zukunft liegenden
Sekundenwert das Datum berechnen. Mit localtime() kannst du doch
hoffentlich umgehen. Ansonsten empfehle ich zur Lektüre auch noch
perldoc -f localtime.
bye, Frank!