Unverständnis ==> mktime() HILFe

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

  • Unverständnis ==> mktime() HILFe

    Hallo und guten Abend an alle...,

    ich stell mich sicher nicht sehr talentiert hier an und habe mit derartigen Foren auch absolut keine Ahnung. Dennoch habe ich vorbildlich mir die Regeln durchgelesen (<-- so hoffe ich) und werde doch den ein oder anderen Fehler machen.

    also erstens habe ich bei google gesucht und bin nicht all zu schlau geworden, zweitens habe ich mir vor einigen Tagen PHP5 Grundlagen und Profiwissen zugelegt - leider auch nicht so erfolgreich, dann habe ich bei google erneut gesucht - in einigen foren gestöbert und jetzt bin ich hier bei euch gelandet und hoffe, dass ihr hier mir ein wenig weiter helfen könnt.

    Übrigens eure Suche habe ich auch benutzt Ergebnis 18 THrEads aber leider nicht die richtige Antwort, aber vielleicht ist es einfach auch fehlendes Fachverständnis.

    Doch jetzt zum Problem:
    ich habe mir (wohlgemerkt selbst <== weil ich es ja lernen will ;o) so eine Art "Ferienkalender" mittels PHP zusammen geschrieben.

    Dies funktionierte auch ganz gut auch mit unterschiedlichen Datumsbereichen (folgend: $ns[]_start und $ns[]_ende genannt):

    **********************************************************
    PHP-Code:
    <?PHP

    $einTag 
    86400;
    $heutDat mktime(0,0,0date(m), date(d), date(y));
    $ns1_start mktime(0,0,0,01,02,2006);       
    $ns1_ende mktime(0,0,0,03,14,2006);
    $ns2_start = ....
    $ns2_ende = ....

    for (
    $i=$ns1_start$i <=$ns1_ende$i+=$einTag)    {
                    if(
    $i == $heutDat)    { echo "<hr /><b>i=</b> $i <hr />}
                    echo "
    i=".$i."<br />";
                }

    ?>
    Also so weit so gut?! --> NEIN!!! Ändere ich das datum in $ns1_ende auf
    PHP-Code:
    mktime(0,0,0,08,12,2006
    , dann gehts los *festhalten* --> 1. meine Schleife starte nicht - wurde mir schnell logisch, als ich den wert mir ausgeben lies


    PHP-Code:
     $ns2_ende date("d.m.Y"mktime(0,0,0,08,12,2006));
    echo 
    $ns2_ende
    //12.12.2005// <=== HÄHÄÄÄÄ

    doch dem nicht genug, ändere ich dann

    PHP-Code:
    $ns1_ende mktime(0,0,0,07+1,12,2006); 
    um - ja dann funktioniert das komplette script ordnungsgemäß und vor allem richtig.
    Diese mir absolut unverständliche Angelegenheit scheint nur mit "08" "12" zu passieren - alles andere (auch getestet) funktioniert bei mir.

    Hat jemand eine plausible Antwort.
    ich glaube MoRtAlAn beschriebe was mit strtotime() doch ich bin mir absolut nicht sicher - da ja sonst alles funktionierte - bis auf diese blöde "08" "12".

    Bin ja gespannt.

    Gruß Vertiefer
    Zuletzt geändert von Vertiefer; 06.01.2006, 21:56.
    die dinge sind nie so wie sie sind. sie sind immer das, was wir aus ihnen machen!

  • #2
    hast du das hier auch gelesen?
    http://www.php-resource.de/forum/sho...threadid=50454
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      nein sry - soll ich das jetzt noch einmal richtig posten?

      sch... - sagte doch i mach sicher was falsch!

      Vertiefer
      die dinge sind nie so wie sie sind. sie sind immer das, was wir aus ihnen machen!

      Kommentar


      • #4
        du kannst deinen post bearbeiten. NICHT neu posten bitte.

        und im manual wirst du sicher dann auch deine lösung finden, wenn ich dein problem richtig erkannt habe.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          aus dem php-bug-report:
          literal numbers starting with 0 are interpreted as octal numbers, so you
          should just omit the 0 and write 8 and 9 instead of 08 and 09.

          http://bugs.php.net/bug.php?id=20592
          ... mit anderen worten: führende nullen bei mktime() sind böse. vorher einfach den wert mit intval() umwandeln, bzw. führende nullen vermeiden.
          Kissolino.com

          Kommentar


          • #6
            wow - das geht ja schnell - i hoffe ich bin auch mal so flink, wie ihr, na gut Ihr seid ja auch geübt drin

            aber mal allen ernst heißt dies es kann - muss aber nicht sein, denn mit allen anderen werten gibt es null probleme?!

            ich mein ich bin schon stolz auf meine arbeit
            aber würde mich schon noch interessieren, ob dies eine gute herangehensweise war oder ist für den umgang mit derartigen zeitspannen?

            Danke übrigens!

            Vertiefer
            die dinge sind nie so wie sie sind. sie sind immer das, was wir aus ihnen machen!

            Kommentar

            Lädt...
            X