kostenloser Webspace werbefrei: lima-city


Datum ausrechenen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mmc

    mmc hat kostenlosen Webspace.

    Hallo,
    ich habe ein problem. ich möchte zwischen zwei Datums alle dazwischenliegenden datums mit php ausrechnen und in ein Array schreiben.
    Also: 13.08.10 und 16.08.10
    und dann soll im Array das stehen:
    13.08.10, 14.08.10, 15.08.10, 16.08.10
    Wie kann man sowas machen?

    mfg
    mmc
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. m*****d

    function dateDiff($dformat, $endDate, $beginDate)
    {
    $date_parts1=explode($dformat, $beginDate);
    $date_parts2=explode($dformat, $endDate);
    $start_date=gregoriantojd($date_parts1[0], $date_parts1[1], $date_parts1[2]);
    $end_date=gregoriantojd($date_parts2[0], $date_parts2[1], $date_parts2[2]);
    return $end_date – $start_date;
    }
    
    $date1="07/11/2003";
    $date2="09/04/2004";
    
    print  " . $date1 . " bis" . $date2 . " = " . dateDiff("/", $date2, $date1) . ".";


    --> 07/11/2003 bis 09/04/2004 = 421.
  4. wie hast du die beiden "Datums" denn vorliegen?

    gibst du die per hand ein? ->String


    liest du die als Timestamp aus einer Datenbank aus?


    wenn wir das nciht wissen, können wir dir keinen Tipp geben, wie du das machen sollst^^

    beim String siehts ganz einfach aus

    <?php
    //irgendwie wirst du die beiden strings shcon reinbekommen;;
    $s_datum1 = "13.08.2010";
    $s_datum2 = "16.08.2010";
    
    //hier wird das in teil-Strings zerlegt;;
    $a_datum1 = explode(".",$s_datum1);
    $a_datum2 = explode(".",$s_datum2);
    
    //hier machen wir es auswertbar;; 
    settype($a_datum1[0], "integer");
    settype($a_datum1[1], "integer");
    settype($a_datum1[2], "integer");
    
    settype($a_datum2[0], "integer");
    settype($a_datum2[1], "integer");
    settype($a_datum2[2], "integer");
    
    //hier machen wir die schleifenlogik rein
    for($a_datum1[2]; $a_datum2[2]>$a_datum1[2]; $a_datum1[2]++)
    {
       for($a_datum1[1]; $a_datum2[1]>$a_datum1[1]; $a_datum1[1]++)
       {
          for($a_datum1[0]; $a_datum2[0]>$a_datum1[0]; $a_datum1[0]++)
          {
               echo $a_datum1[0].".".$a_datum1[1].".".$a_datum1[2];
          }
    
    
    
       }
    }
    
    
    
    ?>



    müsste so in etwa dann im Falle des Strings dein Problem lösen... insofern es ein Problem war ;-)


    edit: anstelle der echo-Anweisung packst du es dann einfach indein array rein^^

    Beitrag zuletzt geändert: 13.8.2010 11:00:56 von sebulon
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!