zeitzonen und sommerzeit

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

  • zeitzonen und sommerzeit

    hallo,

    die problematik wurde hier im forum schon diskutiert. allerdings nicht so, dass sie mir etwas hilft..

    ich möchte auf einer internationalen seite, bei der sich die nutzer registrieren müssen, gewährleisten, dass überall die richtige uhrzeit angezeigt wird. und zwar mit möglichst wenig input von seiten des users.

    der timestamp soll, egal, in welchem land sich der user befindet in der greenwich time (winterzeit) gespeichert werden. das ist vorraussetzung und bekannt. dennoch sind damit leider noch nicht alle probleme aus dem weg geräumt..

    man könnte eine datenbank aufbauen, in der gespeichert wird in welchem land und welcher region (da manche länder mehrere zeitronen haben) welche zeitverschiebung miteinzuberechnen ist. dazu kommt jedoch, dass unabhängig von den zeitzonen die meisten länder die sommerzeit nutzen, andere jedoch nicht. da ich land und region von meinen nutzern kenne wäre das die sauberste lösung. allerdings ist das aufbauen einer solchen datenbank und die umrechnung später in php leichter gesagt als getan. denn die sommerzeiten kommen nicht nur in unterschiedlichen ländern vor, sie fangen auch nicht in jedem land zum gleichen datum an und hören zum gleichen datum auf.

    eine weitere möglichkeit wäre, per javascript die aktuelle zeit vom browser auszulesen und mit der zeit vom server zu vergleichen, die differenz auf volle stunden zu runden und das in der session als mit einzuberechnende differenz speichern. auch das ist eine einigermaßen annehmbare lösung. abgesehen davon, dass hier javascript vorausgesetzt wird (was auf der seite ohnehin der fall ist) und dass diese vorgehensweise in relativ kleinen zeitzonen (nepal, aber auch indien) aufgrund der rundung auf volle stunden nicht funktioniert.

    das sind im groben, meine beiden lösungsansätze um dem problem auf den leib zu rücken. doch selbst wenn ich mich für eines der beiden entscheide, habe ich immernoch folgende weitere bedenken:

    was passiert, wenn ich mich gestern noch in der winterzeit befunden habe und einen artikel auf der seite verfasst habe. heute sehe ich mir den artikel an und es wird mir eine falsche erstellungszeit des artikels angezeigt. der timestamp stimmt (GMT), aber die anzeige nicht mehr. muss ich also zu jedem timestamp in der datenbank auch noch die zeitzone sowie einen flag 'sommerzeit' des erstellers mitspeichern!?

    angenommen, das system soll mich über geburtstage anderer user informieren. dann darf es eigentlich nicht sein, dass mir für heute der geburtstag eines users angezeigt wird, der diesen eigentlich erst morgen in einer anderen zeitzone hat.

    und ein ganz extremer fall: ich befinde mich heute in portugal und schreibe einen artikel. morgen bin ich in spanien. dann wird mir morgen angezeigt, ich hätte heute einen artikel eine stunde später angelegt, als ich es tatsächlich getan habe.. konfus.. aber dieser letzte fall ist zu vernachlässigen...


    vorschläge, ideen?
    ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt..
    Zuletzt geändert von kostakimu; 25.09.2007, 14:41.

  • #2
    Ja aber warum das Rad neu erfinden, dazu gibt es wohl genug beispiele.


    Die Sache mit Javascript und das Runden, vergiss die ganz schnell wieder
    "Nicht jeder Mensch kann und soll Programmieren[...]".

    Kommentar


    • #3
      entschuldige, aber stoß mich doch bitte mal auf einen link.. ich suche schon seit zwei tagen aber ich habe noch keins der beispiele dazu gefunden..

      und warum soll ich die idee mit javascript ganz schnell wieder vergessen? also, ich weiß, dass javascript im allgemeinen von entwicklern verpönt ist (von mir meistens auch), aber in diesem falle könnte es doch eine lösung bieten, die man sonst nicht erreichen kann.. oder habe ich bei javascript noch weitere probleme übersehen..?

      danke für die schnelle antwort in jedem fall..
      Zuletzt geändert von kostakimu; 25.09.2007, 14:51.

      Kommentar


      • #4
        http://www.tutorials.de/forum/php-co...-zeitzone.html

        Ich komme aus dem EDV Bereich und weiß wie viele Leute JS deaktiviert haben oder ein falsches Datum und Uhrzeit haben
        "Nicht jeder Mensch kann und soll Programmieren[...]".

        Kommentar


        • #5
          Original geschrieben von xkl1986
          [url]Ich komme aus dem EDV Bereich und weiß wie viele Leute JS deaktiviert haben oder ein falsches Datum und Uhrzeit haben
          meinst du nicht eher... "wie wenig leute"??

          ich bekenne: meine js-verpöhnzeit is vorbei
          **********
          arkos
          **********

          Kommentar


          • #6
            hm, ok. der link erklärt also wie man von einer in eine andere zeitzone umrechnet.. wie ich das mache, ist mir schon klar..

            alle meine eigentlichen probleme, z.b. sommerzeit, sind damit weiterhin offen..

            Kommentar


            • #7
              So dann liest dir dass noch durch und deine Fragen sollten beantwortet sein.

              http://de.php.net/manual/de/function.date.php
              "Nicht jeder Mensch kann und soll Programmieren[...]".

              Kommentar


              • #8
                Völlig veraltet.

                PHP5 bringt sehr umfangreiche Funktionen zur Behandlung von Zeitzonen mit. Besonders gut ist die enthaltene Zeitzonen-Datenbank. Du brauchst nur die Zeitzone des Users und PHP errechnet dann den Unterschied - und es beachtet dabei auch Besonderheiten wie Sommer- und Winterzeit.

                Timestamps sind ja bekanntlich zeitzonen-unabhängig. Du musst sie nur bei Aus- und Eingabe anpassen. Dazu dient ein DateTime-Objekt in Verbindung mit einem DateTimeZone-Objekt. Beide sind leider nicht sehr gut dokumentiert.
                Die Zeitzone des Users musst du zwangsläufig irgendwie vom User abfragen. Normalerweise gibt er die selber irgendwo an (z.B. im Benutzerprofil).
                hopka.net!

                Kommentar


                • #9
                  danke hopka,

                  damit kann ich was anfangen.. auch wenn es toll wäre, wenn man jetzt noch anhand land und region automatisch auf die entsprechende zeitzone 'matchen' könnte..

                  doch vielleicht hat man das auch noch einigermaßen rasch von hand angelegt.

                  Kommentar


                  • #10
                    Nix anderes geschrieben.

                    Wollte ihn nur in die richtige Richtung schicken und zu verstehen wie es manuell gemacht wird.

                    die Funktionen die du genannt hast machen das gleiche, nur weiß der Benutzer nicht warum/wie es funktioniert; und das sollte interessieren sonst steht er beim ersten Problem wieder auf der Matte
                    "Nicht jeder Mensch kann und soll Programmieren[...]".

                    Kommentar


                    • #11
                      Um es manuell zu machen, müsste man trotzdem erstmal wissen, welche Zeitzone wann welches Offset besitzt.

                      Original geschrieben von kostakimu
                      auch wenn es toll wäre, wenn man jetzt noch anhand land und region automatisch auf die entsprechende zeitzone 'matchen' könnte..

                      doch vielleicht hat man das auch noch einigermaßen rasch von hand angelegt.
                      Die Zeitzonen-Datenbank von PHP ist doch grob aufgeteilt in Kontinente und Städte.
                      hopka.net!

                      Kommentar


                      • #12
                        Ein bisschen Arbeit ist ja wohl zu erwarten ? oder

                        Die Leute sollen lernen nicht copy&paste
                        "Nicht jeder Mensch kann und soll Programmieren[...]".

                        Kommentar


                        • #13
                          danke Hopka.

                          und xkl1986, auch wenn es dir vielleicht so vorkommt, du hast hier nicht mit kleinkindern zu tun..

                          schönen abend..

                          Kommentar


                          • #14
                            OffTopic:
                            Manche Kleinkinder können besser lesen als Forenmitglieder, allgemein gehalten""
                            "Nicht jeder Mensch kann und soll Programmieren[...]".

                            Kommentar


                            • #15
                              Original geschrieben von xkl1986
                              Ein bisschen Arbeit ist ja wohl zu erwarten ? oder

                              Die Leute sollen lernen nicht copy&paste
                              Also das einzige was man hier aus diesem Thread kopieren könnte ist der ein oder andere Satz und einfügen könnte man ihn dann bestenfalls als Kommentar in seinen Quellcode.

                              PHP stellt einem solche Funktionen zur Verfügung, damit man sie nutzt und nicht damit man das ganze in Langsam und mit vielen Fehlerquellen nachprogrammiert.
                              hopka.net!

                              Kommentar

                              Lädt...
                              X