Seite 1 von 1

Probleme mit älteren Geburtsdaten

Verfasst: Fr 7. Nov 2008, 02:59
von Piete
Hallo zusammen,

ich habe ein Problem mit den Geburtsdaten in der Kontakteverwaltung.
Wenn ich z.B. das Geburtsdatum 1966-01-20 eingebe, wird dieses in die Datenbank eingetragen und wieder ausgelesen usw., aber bei der Funktion formatDate(...) läuft irgendwas schief, denn es wird nichts zurück gegeben. In der Funktion formatDate wird immer return """;
ausgeführt

Code: Alles auswählen

   
 if ( ( "0000-00-00" == $date )
      || ( ( $timestamp = strtotime($date." 12:00:00") ) == -1 )
       )
        {
            return "";  
        }
Hat jemand eine Idee, woran das liegen könnte?
PHP Version 4.4.9

Grüße

Re: Probleme mit älteren Geburtsdaten

Verfasst: Sa 8. Nov 2008, 16:08
von Piete
Hallo,

ich habe den Fehler gefunden. Das liegt daran, dass ein timestamp nur bis 1970 erzeugt werden kann. Alle älteren daten werden somit als Fehler ausgegeben. Deswegen müsste die ganze Funktion eigentlich komplett umbauen um verlässlich alle daten bearbeiten zu können.

Grüße

Re: Probleme mit älteren Geburtsdaten

Verfasst: Do 13. Nov 2008, 20:43
von der-domi
Hallo,

kannst du mal bitte mehr Informationen zu deinem System nennen? Das Problem wurde schon öfters beschrieben. Ich kann es aber leider nicht nachvollziehen.

Re: Probleme mit älteren Geburtsdaten

Verfasst: Do 13. Nov 2008, 23:09
von Piete
Hallo,

ich hoffe, dass die folgenden Angaben reichen
Linux srv65 2.6.12.6-vs2.0 #1 SMP Wed Oct 12 12:28:03 CEST 2005 i686
PHP Version 4.4.9
Ich habe im Netz an mehreren Stellen gelesen, dass viele Linux und Windowssysteme eben keine negativen timestamp erzeugen oder verarbeiten können. Die ist wohl der Fall, wenn Daten vor xx.xx.1970 liegen.

Grüße

Re: Probleme mit älteren Geburtsdaten

Verfasst: So 11. Jan 2009, 20:53
von der-domi
Tut mir Leid, dass ich bei dem Problem nicht helfen kann. Bei der Neuentwicklung werde ich aber versuchen die Datumsformatierung direkt von MySQL machen zu lassen. Das sollte die Probleme für immer beseitigen. Das ist aber für die aktuelle Version zu aufwendig. Kannst du mal testhalber den Befehl

Code: Alles auswählen

SET lc_time_names = 'de_DE';
DATE_FORMAT('1879-10-04', '%W %M %Y');
ausführen. Erwartetes Ergebnis: Samstag Oktober 1879

Re: Probleme mit älteren Geburtsdaten

Verfasst: Fr 16. Jan 2009, 21:48
von Piete
Hallo,

wo soll ich den Code denn einfügen? Oder einfach so testen? Allerdings habe ich dann keinen schimmer, wie ich das anstelllen soll, da das sql ist, das ist nicht gerade meine spezialdisziplin. :wink:

Grüße

Re: Probleme mit älteren Geburtsdaten

Verfasst: Sa 17. Jan 2009, 10:06
von der-domi
Sorry. Du kannst die beiden Befehle über phpMyAdmin absetzen. Dort gibt es ein SQL-Fenster o.ä. und kannst beide Befehle gleichzeitig eintragen.

Re: Probleme mit älteren Geburtsdaten

Verfasst: Sa 17. Jan 2009, 11:46
von Piete
Hallo,

ahhh, schon wieder was gelernt.
Erwartetes Ergebnis: Samstag Oktober 1879
Kommt auch raus!

Grüße