Thread Datumsformatierung DD.MM.YY und Rechnen (14 answers)
Opened by Forza at 2012-07-17 08:48

Forza
 2012-07-17 08:48
#159894 #159894
User since
2012-07-11
20 Artikel
BenutzerIn
[default_avatar]
Hallo,
Ich muss momentan mit dem aktuellen Datum arbeiten. Dazu brauche ich das oben genannte Format DD.MM.YY. Wie Ihr ja wisst:
Code: (dl )
$date=localtime(time);

Gibt dies ja das Datum in dem Format zurück Tue Jul 17 08:11:37 2012 damit kann Ich aber leider nicht arbeiten.
Ich weiß, dass das Format DD.MM.YY nicht klug ist aber ich kann es leider nicht ändern da ich dieses mit dem Server abgleichen muss und dieser mir das Datum in dem Format wiedergibt.
Ich hatte es dann mit diesem code Probiert:
Code: (dl )
($day, $month, $year) = (localtime)[3,4,5];

Die Ausgabe dabei beträgt dann aber:
17
6
112
Ich weiß, Das ich zum monat eine 1 addieren muss nur leider funktioniert
$month+1; nicht und zu $year müsste ich 1900 Addieren aber auch dies funktioniert nich mit $year+1900.
Außerdem wäre die ausgabe dann auch YYYY womit ich wiederum nicht arbeiten könnte.
Mit Posix kann ich leider auch nicht arbeiten, da es nicht installiert ist und ich auch keine Rechte habe dieses zu installieren.
Hoffentlich kann mir jemand von euch weiterhelfen Vielen Dank.

EDIT:
Hab mir da jetzt mal eine Lösungszusammen gebastelt
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl -w
###$ARGV[0] ruft den uebergebenen wert auf
print "$ARGV[0]\n";

#Aktuelles Datum holen
($day, $month, $year) = (localtime)[3,4,5];

#Datum in Format TT.MM.YY umwandeln und in $Datum speichern
$year = sprintf("%02d", $year % 100);
$month += 1;
$month = sprintf("%02d",$month);
#Tag mit dem wert abziehen der uebergeben wird
$day -= $ARGV[0];
$datum = "$day.$month.$year";
print "$datum \n";


Mit dem Übergabewert $ARGV bestimme ich wieviele tage ich zurück gehen möchte, nun habe ich ein Problem, dass ich nun in den Tagen auch in den negativen Bereich wandeln kann und nun suche ich eine Lösung die :
Wenn der Tag 0 wäre den Monat um 1 Herunterzaehlt und selbständig feststellt ob der Monat 31,30 oder 29 Tage hat damit ich zur not auch noch weitere Tage zurückgehen kann.
EDIT2:
Dies müsste ich dann auch noch mit dem Jahr berücksichtigen da es ja sein kann das das programm am 02.01.13 gestartet wird und dann 5 Tage zurück geht.
Vielen Dank.
Last edited: 2012-07-17 09:22:17 +0200 (CEST)

View full thread Datumsformatierung DD.MM.YY und Rechnen