Ankündigung

Einklappen
Keine Ankündigung bisher.

Beitragsansicht

Einklappen

[Erledigt] Monat rausfinden, jahr woche und tag bekannt

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

  • [Erledigt] Monat rausfinden, jahr woche und tag bekannt

    Hi,
    bin auf der suche nach einer möglichkeit den Monat rauszufinden, wenn das Jahr, die Woche und der Tag bekannt ist.

    habe es schon so probiert:
    PHP-Code:
    date('d.m.Y'strtotime("+$week week"mktime(0,0,0,1,$day-6,$year))) 

    das klappt soweit für dieses jahr auch ganz gut, aber bei year++ stimmt der tag nicht mehr.. und warum es nur mit $day-6 klappt hab ich auch nich gecheckt

    wenn jemand ne lösung hat, immer her damit!


    Gruß, Nussmischung

  • #2
    Der Tag ist was, die Tage seit 1. Januar, ein Wochentag (Zahl/String)?

    Kommentar


    • #3
      tag der woche, zahl
      Sonntag = 0, Montag = 1 ...

      Kommentar


      • #4
        Kann derjenige oder das Skript, dass dir diese Werte übergibt nicht auch gleich den Monat mitliefern?
        Das Zurückrechnen ist zwar sicher möglich, mir aber grad zu knifflig. Im Prinzip musst du halt wissen, welcher Tag der 1. der 1. Woche war + ($weeks - 1) * 7 + $tageszahl, wenn ich mich jetzt nicht verhedert habe.

        Kommentar


        • #5
          hauptseite ist eine kalender wochenübersicht. mit buttons für week++ und week--
          bei klick auf auf die jeweilige zelle wird add.php aufgerufen und jahr, woche, tag, uhrzeit übergeben. Die werte sollen dann direkt in das formular eingetragen werden...

          ich gucke mal ob ichs irgendwie schaffe. Wäre aber für hilfe dankbar!

          Kommentar


          • #6
            Ich verstehe aber nicht, wie dabei der Monat verloren gehen kann, bzw. die 7 eindeutigen Daten (Datums)?
            Gib die Woche doch einfach mit einem Start-Datum an

            week.php?date=2006-02-22

            Dann bist du auch so flexibel, Wochen mit Montag oder Sonntag beginnen zu lassen (oder jedem beliebigen anderen Tag)!

            Kommentar


            • #7
              der monat geht nirgendwo verloren.

              wenn ich den kalender betrete wird automatisch die aktuelle woche angezeigt. mit zwei buttons kann ich mir eine woche höher oder niedriger anzeigen lassen.
              Der Monat ist in dieser ansicht garnicht bekannt und auch nicht relevant. nur für das Termin eintragen in die DB ist der monat dann wichtig

              Natürlich hätte ich das ganze auch anders lösen können, aber jetzt wieder alles umprogrammieren wäre ein bisschen viel arbeit..

              Kommentar


              • #8
                Stimmt natürlich auch wieder. Hast du das mal ausprobiert?:
                Im Prinzip musst du halt wissen, welcher Tag der 1. der 1. Woche war + ($weeks - 1) * 7 + $tageszahl, wenn ich mich jetzt nicht verhedert habe

                Kommentar


                • #9
                  werde ich morgen machen!

                  jetzt ist erstmal feierabend, ab nach hause

                  Kommentar


                  • #10
                    Zitat von Zergling
                    Stimmt natürlich auch wieder.
                    Eigentlich ist die Aussage von mir auch falsch, denn letztlich solltest du ein sehr simples Kalender-System haben, in dem du nicht noch 5x rückwärts und 3x seitwärts rechnen musst. Der Index eines Kalenders sollte daher meiner Meinung nach immer ein Datum sein oder zumindest soweit gekapselt sein, dass ein Austausch des Identifizierers ohne weiteres möglich ist.

                    week.php?week=24
                    PHP-Code:
                    <?php
                    $startDate 
                    getFirstDayOfWeek($_GET['week']);
                    // optimalerweise mit Date-Klasse
                    ?>
                    Vielleicht ist das für dich interessant:
                    http://pear.php.net/package/Date
                    http://pear.php.net/package/Calendar

                    Kommentar


                    • #11
                      Hi "Nussmischung".

                      Ich denke du musst auf ein gescheites Startdatum kommen von dem aus du dann die Wochenzahl
                      mit strtotime() hochrechnest.

                      Probleme:
                      * Der 1.1. liegt nicht zwingend in der 1. Woche. Nur, wenn er ein Donnerstag, Freitag, Samstag
                      oder Sonntag ist. Andernfalls liegt er in der 52. oder 53. Woche des Vorjahres.
                      * Ebenso liegen die letzten Tage im Jahr mitunter schon in der ersten Woche des nächsten Jahres.
                      Die Woche des Jahreswechsels liegt in dem Jahr, in dem sie mehr Tage hat.
                      * Die ISO-Woche bginnt mit einem Montag, nicht mit einem Sonntag.

                      Vorschlag:
                      1. Woche und Wochentag des 1.1. auslesen
                      2. Wenn nicht 1. Woche, dann + 7 Tage
                      3. $Wochentag_des_ersten_Januar Tage abziehen (falls du PHP 5.1 hast, andernfalls musst du den
                      Wochentag vorher in den ISO-Standard umwandeln)
                      4. ($Dein_Wochentag - 1) oder, im Fall von ($Tag == 0) 6 draufschlagen.
                      5. Datum um ($Deine_Wochen -1) Wochen hochzählen.

                      Ich gehe hierbei davon aus, dass die Jahreszahl sich auf die Woche und nicht auf den Tag bezieht.
                      Andernfals hast du natürlich einen Fehler gemacht, denn der Freitag, der sowohl in der 52. Woche,
                      als auch im Jahr 2005 liegt könnte sowohl im Januar 2005 als auch im Dezember 2005 liegen.

                      Basti

                      Kommentar

                      Lädt...
                      X