Ergebnis 1 bis 8 von 8

Thema: Problem mit der Anzeige von Geburtstagen

  1. #1
    pixel
    Gast

    Standard Problem mit der Anzeige von Geburtstagen

    Hallo, ich habe hier folgen des php Script:
    Code:
    echo $ar2;
    $geb = "02.03.1987";
    $ar1 = explode(".", $geb);
    $ar2 = explode (".", date("d.m.Y"));
    $jahre = $ar2[2] - $ar1[2] - 1;
    if &#40;$ar1&#91;1&#93; <= $ar2&#91;1&#93; && $ar1&#91;0&#93; <= $ar2&#91;0&#93;&#41;
    $jahre++;
    echo $jahre;
    Wenn ich jetzt dort bei $geb den 02.03.1987 Eintrage kommt das richtige Alter von 19 Jahren, wenn ich aber das Datum 16.06.1987 eintrage zeigt er mir 18 an obwohl es 19 anzeigen sollte. Ich kann den Fehler nicht finden.Kann mir da vielleicht jemand helfen ? Letztes Jahr hat das noch alles funktioniert aber jetzt auf einmal zeigt er mir das falsch an.

    MfG pixel
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    13.01.2005
    Ort
    Schweiz
    Beiträge
    5.240
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    probiers mal so:

    Code:
    # Geburtsdatum explode
    $datePieces = explode&#40;".", $geb&#41;;
    
    # Aktuelles Datum
    $date = mktime&#40;0, 0, 0, date&#40;'m'&#41;, date&#40;'d'&#41;, date&#40;'Y'&#41;&#41;;
    
    # Alter ausrechnen
    $birthday = mktime&#40;0, 0, 0, $datePieces&#91;1&#93;, $datePieces&#91;2&#93;, $datePieces&#91;0&#93;&#41;; 
    $alter = intval&#40;&#40;$time - $birthday&#41; / &#40;3600 * 24 * 365&#41;&#41;;
    				
    # Geb. Datum + Alter ausgeben
    echo $geb.' &#40;'.$alter.'&#41;';
    so long

  3. #3
    pixel
    Gast

    Standard

    Schon mal vielen Dank für deine Hilfe, aber da funktioniert irgendwas
    noch nicht, ich habe jetzt das Script wie folgt ausprobiert:

    Code:
    <?php
    $geb = "09.07.1989";
    
    # Geburtsdatum explode
    $datePieces = explode&#40;".", $geb&#41;;
    
    # Aktuelles Datum
    $date = mktime&#40;0, 0, 0, date&#40;'m'&#41;, date&#40;'d'&#41;, date&#40;'Y'&#41;&#41;;
    
    # Alter ausrechnen
    $birthday = mktime&#40;0, 0, 0, $datePieces&#91;1&#93;, $datePieces&#91;2&#93;, $datePieces&#91;0&#93;&#41;;
    $alter = intval&#40;&#40;$time - $birthday&#41; / &#40;3600 * 24 * 365&#41;&#41;;
    
    # Geb. Datum + Alter ausgeben
    echo $geb.' &#40;'.$alter.'&#41;';
    
    ?>
    und er zeigt mir jetzt "09.07.1989 (-44)" an.

  4. #4
    Forum Guru
    Registriert seit
    13.01.2005
    Ort
    Schweiz
    Beiträge
    5.240
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    so - eine bessere version.

    Code:
    function alter &#40;$geb&#41; &#123;
    	# Alter ausrechnen    
    	$now = time&#40;&#41;;
    	$bday = strtotime&#40;$strDate&#41;;
    	
    	$differenz = $now - $bday;
    	$alter = floor&#40;$differenz/60/*sec*//60/*min*//24/*std*//365/*tage*/&#41;;
    		 
    	return $alter;					
    &#125;
    
    $alter = alter&#40;$geb&#41;;
    echo $geb.' &#40;'.$alter.'&#41;';

  5. #5
    pixel
    Gast

    Standard

    Hab das Script wie folgt ausprobiert, aber es funktioniert leider nicht..

    Code:
    <?php
    
    $geb = "09.07.1989";
    
    function alter &#40;$geb&#41; &#123;
       # Alter ausrechnen
       $now = time&#40;&#41;;
       $bday = strtotime&#40;$strDate&#41;;
    
       $differenz = $now - $bday;
       $alter = floor&#40;$differenz/60/*sec*//60/*min*//24/*std*//365/*tage*/&#41;;
    
       return $alter;
    &#125;
    
    $alter = alter&#40;$geb&#41;;
    echo $geb.' &#40;'.$alter.'&#41;';
    
    ?>
    er zeigt mir jetzt "09.07.1989 (0)" an

  6. #6
    Forum Guru
    Registriert seit
    13.01.2005
    Ort
    Schweiz
    Beiträge
    5.240
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    probier das mal so:

    $geb = "1989.07.09";

  7. #7
    pixel
    Gast

    Standard

    "1989.07.09 (0)" Zeigt mir jetzt an

  8. #8
    pixel
    Gast

    Standard

    Hab jetzt eben nochmal im Internet gesucht und folgendes gefunden. Und du
    wirst es nicht glauben es funktioniert !! Trotzdem Danke für deine Hilfe !

    Code:
                     
    <?php
    $jahr = 1989;
    $mon  =  01;
    $tag  =  30;
    $alter = &#40;date&#40;'Y'&#41; - $jahr&#41; - intval&#40;date&#40;'md'&#41; < sprintf&#40;'%02d%02d' , $mon , $tag &#41;&#41;;
    echo $alter ;
    ?>

Ähnliche Themen

  1. Problem mit Anzeige im IE
    Von Nohma im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 01.07.2008, 00:32
  2. Habe Problem mit Anzeige im Chat
    Von Arno112 im Forum Forum für alle anderen Programmiersprachen
    Antworten: 6
    Letzter Beitrag: 22.04.2008, 20:41
  3. Problem mit Dynamischer Anzeige von Div und Css
    Von VincentVegas im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 19.03.2007, 00:34
  4. xForms - anzeige Problem
    Von bruno im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 30.01.2007, 11:14
  5. img - anzeige problem (js, css, html)
    Von BendOr im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 17
    Letzter Beitrag: 27.12.2005, 12:03

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •