isi4u
Hallo suche jetzt schon einige Stunden nach der Lösung...
Mal schauen vielleicht kann mir jemand helfen.
Ich verwende einen Windows-Server mit Apache 2.0.../Perl/PHP alles läuft gut, nur habe ich jetzt ein kleines sehr störendes Problem mit dem Auslesen des Datums.
Unter Linux/Unix geht es doch ungefähr so:
$date_command = "/usr/bin/date";
Aber was zum Geier muss ich da bei Windows zw. die "" schreiben?
Vielen Dank für eure Hilfe.
moonsword
ähhhm, mit time() bekommst die sekunden seit dem 1.1.1970 um 00:00
und dann kannste es ja berechnen
aber ob es so eine direkte funktion unter windoof gibt keine Ahnung
artemis_TOAO
Nunja das geht aber ist gar nicht so trivial...
ich würde localtime benutzen
my ($sec,$min,$hour,$dayofmonth,$month,$year,$weekday,$yearday,$issummertime) = localtime;
$month,$weekday,$yearday gehen bei 0 los
$year zählt die jahre ab 1900, also +1900 um das aktuelle Jahr zu bekommen
cgicorner.ch
Hallo
Verwende am besten die in Perl integrierte Funktion localtime. Die arbeitet Betriebssystemunabhängig. Du hast zwei Möglichkeiten: verwendest du die Funktion als scalar, bekommst du die Systemausgabe (meist englisch), wenn du das ganze in ein Array speicherst kannst du die Darstellung nach deinen Wünschen anpassen.
Kurzer Codeschnippsel als Beispiel:
# Schreibweise im System
$date1= scalar(localtime(time));
# @dateArray ist ein Array mit folgendem Inhalt
# 0: Sekunden
# 1: Minuten
# 2: Stunden
# 3: Tag
# 4: Monat /(beginnend bei 0!)
# 5: Jahr (beginnend bei 1900 --> 105 = 2005)
# 6: Wochentag (0=Sonntag, 1=Montag etc.)
# 7: Tag des Jahres
# 8: Sommer-/Winterzeit
@dateArray=localtime(time);
# Datum im Format TT.MM.JJJJ
$date2=sprintf("%2.2d.%2.2d.%4.4d", $dateArray[3], ($dateArray[4]+1), ($dateArray[5]+1900));
# Datum im Format TT.MM.JJJJ; hh.mm.ss
$date3=sprintf("%2.2d.%2.2d.%4.4d; %2.2d:%2.2d:%2.2d", $dateArray[3], ($dateArray[4]+1), ($dateArray[5]+1900), $dateArray[2], $dateArray[1], $dateArray[0]);
print "$date1\n$date2\n$date3\n";
Ich hoffe, das hilft dir weiter.
Gruss
Jürg