einfaches kalender script

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • einfaches kalender script

    wie mache ich ein einfaches kalender script??

    das heist keine einteilung in wochen tage oder ähnliches.

    halt nur
    1. April
    2. April
    3. April

    nur ich weis nich wie ich zb mache, das bei Februar die schalt jahre usw beachtet werden.
    danke für die hilfe..

    ach ja ich muss dann da noch so ne time market erstelle

    zb mktime(0,0,0,4,1,2002) (für den 1.4.2002 00:00 Uhr )
    is das so richtig

    mfg trashar

  • #2
    RTFM: XVIII. Datums- und Zeit-Funktionen

    checkdate -- Prüft eine gregorianische Datums- bzw. Zeitangabe auf Gültigkeit
    date -- Formatiert ein(e) angegebene(s) Zeit/Datum
    mktime -- Gibt den UNIX-Timestamp/Zeitstempel für ein Datum zurück
    time -- Gibt den gegenwärtigen UNIX-Timestamp/Zeitstempel zurück
    Code:
    // [b]ist $jahr ein Schaltjahr?[/b]
    function is_schaltjahr ($jahr)
    {
      return checkdate (2, 29, $jahr);
    }
    
    //[b]alle Tage im Jahr auflisten:[/b]
    define ('SEKUNDENPROTAG', 24*60*60);
    function year_list($jahr)
    {
      $z = mktime (0,0,59, 1,1,1+$jahr);
      for ($t = mktime (0,0,0, 1,1,$jahr); $t<$z; $t+=SEKUNDENPROTAG)
        echo date('d.m.Y', $t), '<br>';
    }
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Vielleicht kannst du was mit diesem kompletten Kalenderscript etwas anfangen.
      PHP-Code:
      <html>
      <head>
      <title>Kalender</title>
      <style>
      body { font-family:verdana,arial; font-size:10pt }
      td { font-family:verdana,arial; font-size:8pt }
      select { font-family:verdana,arial; font-size:8pt }
      a { color:#0000aa; text-decoration: underline }
      .font10 { font-family:verdana,arial; font-size:10pt }
      </style>
      <script language=javascript>
      <!--
      function wechsel(monat,jahr)
       {
        if (monat) document.MyForm.monat.value = monat;
        if (jahr) document.MyForm.jahr.value = jahr;
        document.MyForm.submit();  
       }
      //-->
      </script>
      </head>
      <body>
      <form name=MyForm method=post>
      <?

      // Immer wiederkehrende Feiertage ohne Jahr angeben
      $feiertage = array (
          "1.1."    => "Neujahr",
          "1.5."    => "Maifeiertag",
          "3.10."    => "Tag der dt. Einheit",
          "25.12."    => "Weihnachten",
          "26.12."    => "Weihnachten",
          "29.3.2002"    => "Karfreitag",
          "31.3.2002"    => "Ostersonntag",
          "1.4.2002"    => "Ostermontag",
          "9.5.2002"    => "Christi Himmelfahrt",
          "19.5.2002"    => "Pfingsten",
          "20.5.2002"    => "Pfingsten"
      );

      $monatsnamen = array("","Januar","Februar","März",
                           "April","Mai","Juni",
                           "Juli","August","September",
                           "Oktober","November","Dezember");

      if (!$monat) $monat = date("n");
      if (!$jahr) $jahr = date("Y");


      $AnzahlTage = strftime("%d",mktime (0,0,0,$monat+1,0,$jahr));
      $ErsterWochenTag = date("w", mktime(0,0,0,$monat,1,$jahr));

      echo "<b>$monatsnamen[$monat] $jahr</b><br><br>";

      ?>
      <table width=100% cellpadding=0 cellspacing=0 bgcolor=black>
      <tr><td>

      <table width=100% cellpadding=4 cellspacing=1>
      <tr>
      <td width=14% bgcolor=#ECE7E6 align=center><b>Sonntag</b></td>
      <td width=14% bgcolor=#ECE7E6 align=center><b>Montag</b></td>
      <td width=14% bgcolor=#ECE7E6 align=center><b>Dienstag</b></td>
      <td width=14% bgcolor=#ECE7E6 align=center><b>Mittwoch</b></td>
      <td width=14% bgcolor=#ECE7E6 align=center><b>Donnerstag</b></td>
      <td width=14% bgcolor=#ECE7E6 align=center><b>Freitag</b></td>
      <td width=14% bgcolor=#ECE7E6 align=center><b>Samstag</b></td>
      </tr>
      <?

      $y_ende = 5;
      for ($y=0;$y<$y_ende;++$y)
       {
        echo "<tr>"; 
        for ($x=1;$x<=7;++$x)
         {
          $bgcolor = "bgcolor=white";
          $tag_anzeige = ($x+$y*7)-$ErsterWochenTag;
          // Feiertage checken
          $feiertag_beschreibung_anzeige = "";
          while (list($feiertag_datum,$feiertag_beschreibung) = each($feiertage))
           {
            list($ftag,$fmonat,$fjahr) = split("\.",$feiertag_datum);
            if ($ftag == $tag_anzeige and $fmonat == $monat and ($fjahr == $jahr or $fjahr == ""))
             { 
              $bgcolor = "bgcolor=#ff8888";
              $feiertag_beschreibung_anzeige = $feiertag_beschreibung;
             }
           }
          reset($feiertage);
          if ($tag_anzeige < 1) $tag_anzeige = "";
          if ($tag_anzeige > $AnzahlTage) $tag_anzeige = "";
          if ($tag_anzeige and !$feiertag_beschreibung_anzeige) $bgcolor = "bgcolor=#efefef";
          if ($x == 1 and $tag_anzeige) $bgcolor= "bgcolor=#cccccc"; // Sonntage anders darstellen
          if ($AnzahlTage > (7+4*7)-$ErsterWochenTag) $y_ende = 6; // Wenn 6 Zeilen benötigt werden
          echo "
          <td $bgcolor height=80 valign=top>
          <font color=#000099><span class=font10>$tag_anzeige</span></font><br>
          $feiertag_beschreibung_anzeige<br>
          </td>";
         }
       echo "</tr>"; 
       }

      ?>
      </table>

      </td></tr>
      </table>
      <br>
      <table width=100% border=0 cellpadding=2 cellspacing=0>
      <tr>

      <?
      $jahrminus = $jahr;
      $monatminus = $monat-1;
      if ($monatminus == 0)
       {
        $monatminus = 12;
        $jahrminus -=1;
       }

      $jahrplus = $jahr;
      $monatplus = $monat+1;
      if ($monatplus == 13)
       {
        $monatplus = 1;
        $jahrplus +=1;
       }

      // Monat auswählen
      $selected_monat[$monat] = "selected";
      echo "<td><select name=monat onChange=\"wechsel();\">";
      for($i=1;$i<sizeof($monatsnamen);++$i) echo "<option value=\"$i\" $selected_monat[$i]>$monatsnamen[$i]</option>\n";
      echo "<select>";

      // Jahr auswählen
      $selected_jahr[$jahr] = "selected";
      echo "<select name=jahr onChange=\"wechsel();\">";
      for($i=1980;$i<=(date("Y")+10);++$i) echo "<option value=\"$i\" $selected_jahr[$i]>$i</option>\n";
      echo "<select></td>";

      echo "<td align=right>";
      if ($jahrminus >= 1980 and $monatminus >= 1)
        echo "<b>&lt;&lt; <a href=\"javascript:wechsel('$monatminus','$jahrminus')\">$monatsnamen[$monatminus] $jahrminus</a></b> &nbsp;|&nbsp; ";
      echo "<b><a href=\"javascript:wechsel('$monatplus','$jahrplus')\">$monatsnamen[$monatplus] $jahrplus</a> &gt;&gt</b></td>";
      ?>
      </tr>
      </table>
      </form>
      </body>
      </html>
      Immer erst mal gucken, ob Benzin im Tank ist ...

      Kommentar

      Lädt...
      X