Hallo,
Ich bekomme aus einer csv-Datei ein Datum (z.b. 27.4.07 00:00:00) als String
$delivery_date = trim($items[22]);
$delivery_date = substr($delivery_date,0,-9);
$delivery_date = explode(".",$delivery_date);
$current_date = date("Ymd");$lief_datum = (int)$delivery_date[0] + ((int)$delivery_date[1] * 100) + (((int)$delivery_date[2]+2000) * 10000)." . ";
$differenz = ((int)$lief_datum - (int)$current_date)/30;
du hast da eine interessante Zeitrechnung, die mir etwas fremd ist. Du scheinst anzunehmen, dass ein Monat 100 Tage und ein Jahr 100 Monate hat. Basierend auf dieser Annahme berechnest du dann einen Zeitabstand in Tagen, den du dann durch 30 dividierst. Was zum Geier ging dir bei dieser Rechnung durch den Kopf?
> Der Versuch das geholte Datum in einem String zu konkatinieren und daraus dann wieder in eine Zahl umzuwandeln ist völliger Mist, weiss ich jetzt auch :)
Ach. ;-)
> ~~~php
$jahr=date("Y"); $monat=date("m"); $tag=date("d");
> $datum=mktime(0, 0, 0, $tag, $monat, $jahr);
> $termin=explode(".", $delivery_date);
> $termin=mktime(0, 0, 0, $termin[2], $termin[1], $termin[0]);
> $differenz = ((($termin - $datum)/60)/60)/12;
Dieser Ansatz erscheint mir logischer. Aber auch hier steckt noch der Teufel im Detail. Was bekommst du, wenn du Sekunden durch 60*60*12 dividierst? Richtig, halbe Tage. Wie kommst du auf die 12 als Divisor? Bei uns heißt es immer, der Tag hat 24 Stunden (und wenn das nicht reicht, nehmen wir die Nacht dazu *g*).
Der Versuch das Datum in einen Unix-Timestamp zu wandeln und daraus irgendwie die Differenz zu errechnen geht auch nicht, weil mir der Timestamp irgendwie suspekt ist.
Hä? Dann solltest du ihn mal zum Verhör vorladen.
So long,
Martin
Wer im Glashaus sitzt, sollte sich nur im Dunkeln ausziehen.