n.d. parker: Umrechnung GMT - ME(S)T

Moin,

also ich moechte gerne ein automatische Umrechnung von GMT nach ME(S)T realisieren. Automatisch im Sinne von "ob Sommerzeit oder nicht, soll automatisch bestimmt werden".
Auf einem Rechner, der auf die hiesige (deutsche?) Zeitzone eingestellt ist, genuegt normalerweise die localtime-Funktion des Systems.

Wenn nicht (auf US-Servern beispielsweise), gibts ein Problem, da sind dann alle Zeitangaben entsprechend verschoben.

Kennt jemand eine Tabelle, die die Sommerzeiten in Deutschland seit 1970 (reicht mir, da Unix-Timestamps ;) auflistet?
Seit wann gilt die letzter-Sonntag im Maerz - letzter Sonntag im Oktober-Regelung?

Viele Gruesse,

n.d.p.

  1. Hallo nd!

    Wenn nicht (auf US-Servern beispielsweise), gibts ein Problem, da sind dann alle Zeitangaben entsprechend verschoben.

    Dort gibt es aber auch Unterschiede. Dort, wo AE gehostet ist, gibt es scheinbar auch eine Sommerzeit, die gleich endet, deren Beginn aber scheinbar um eine Woche verschoben ist (oder umgekehrt).

    Jedenfalls: ist der Zeitunterschied von 7 Stunden. Irgendwann stimmt es um eine Stunde nicht mehr. Am Anfang habe ich mich noch geärgert um in dem Forumsscript beispielsweise die 7*3600 um 8*3600 geändert. Um dann festzustellen, dass eine Woche später die Uhrzeiten wieder nicht stimmten!!!

    Seitdem ich das weiss, unternehme ich gar nichts mehr, wegen einer Woche kann die Zeit meinetwegen um eine Stunde differieren!

    Patrick
    <hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash>

    1. Moin Patrick,

      Dort gibt es aber auch Unterschiede. Dort, wo AE gehostet ist, gibt es scheinbar auch eine Sommerzeit, die gleich endet, deren Beginn aber scheinbar um eine Woche verschoben ist (oder umgekehrt).

      ja, bei den Amis heisst das dann DST (Daylight saving time) und ist gewoehnlich um eine Woche verschoben (lt. irgendeiner Seite, usa-info.de oder so)

      Seitdem ich das weiss, unternehme ich gar nichts mehr, wegen einer Woche kann die Zeit meinetwegen um eine Stunde differieren!

      ich bin ein verdammter Perfektionist ;)

      Viele Gruesse,

      n.d.p.

      P.S.: ja, deine Mail ist angekommen und wartet auf Beantwortung ;)

      1. Tach auch,

        Dort gibt es aber auch Unterschiede. Dort, wo AE gehostet ist, gibt es scheinbar auch eine Sommerzeit, die gleich endet, deren Beginn aber scheinbar um eine Woche verschoben ist (oder umgekehrt).

        ja, bei den Amis heisst das dann DST (Daylight saving time) und ist gewoehnlich um eine Woche verschoben (lt. irgendeiner Seite, usa-info.de oder so)

        Bei den Amis ist das ganze noch ein bisschen verzwickter: Einmal haben die natuerlich sowieso mehrere Zeitzonen, aber mit der Sommerzeit geht's dann erst richtig los. Da machen naemlich nicht alle Staaten mit, so dass es unter Umstaenden in einer Zeitzone zwei verschiedene Zeiten geben kann. Und sogar innerhalb eines Staates kann es verschiedene Zeiten geben, die Indianerreservationen machen naemlich nicht alle bei der Sommerzeit mit...

        Ansonsten ist das richtig, dort wo sie mitmachen fangen die Amerikaner i.d.R. eine Woche spaeter mit der Sommerzeit an (z.B. Kalifornien). Fuehrt bei mir in der Firma immer eine Woche lang zu einigen Verwirrungen bei den Telefonkonferenzen ;-)

        Falls es Euch auch noch interessiert, Grossbritannien stellt zur gleichen Zeit wie der Rest Europas um, nur halt eine Stunde spaeter. Das heisst dann BST (British Summer Time). Sofern man das Sommer nennen kann. Schweinekalt heute!

        Gruss,
        Armin

  2. moin n.d.,

    ...
    use Kalender;
    is_summertime(t,m,j);
    ...

    Seit wann gilt die letzter-Sonntag im Maerz - letzter Sonntag im Oktober-Regelung?

    guck mal hierhttp://www.ptb.de/

    Viele Grüße, Rolf

    1. Moin Rolf,

      use Kalender;
      is_summertime(t,m,j);

      danke, das wars: ich hab mal reingeguckt und meinem Freund Google das gegeben:
      Bundesgesetzblatt 1978, Teil I, s 1110 bis 1111

      dabei hat er mir ausgegeben, was ich gesucht habe:
      http://www.fortunecity.de/parkalleen/goldschmied/17/z4.htm

      Dein Kalendermodul arbeitet mit is_summertime nicht korrekt. Hast du was gegen Patches? ;-)

      Seit wann gilt die letzter-Sonntag im Maerz - letzter Sonntag im Oktober-Regelung?

      s.o.

      Viele Gruesse,

      n.d.p.

      1. hi nd,

        Dein Kalendermodul arbeitet mit is_summertime nicht korrekt. Hast du was gegen Patches? ;-)

        bitte sags mir was nicht korrekt ist.

        Viele Grüße, Rolf

        1. Moin Rolf,

          Dein Kalendermodul arbeitet mit is_summertime nicht korrekt. Hast du was gegen Patches? ;-)
          bitte sags mir was nicht korrekt ist.

          aehm, wie gesagt: http://www.fortunecity.de/parkalleen/goldschmied/17/z4.htm.

          bei steht zwar BGB 1978..., aber du rechnest mit der Aenderung/Version von 1997, das heisst Maerz/Oktober.
          Auf o.g. Seite ist eine vollstaenidige Tabelle der Sommerzeiten.

          (Hab ich was uebersehen?;)

          nochwas ist mir aufgefallen:

          Ende der Sommerzeit in Europa

          am letzen Sonntag des Oktober um 2.00

          2.00 Uhr ist falsch ;)

          1.00 Uhr GMT oder 3.00 Uhr Ortszeit, wobei die ja genau in der Stunde etwas schwammig ist ;)

          Viele Gruesse,

          n.d.p.

          1. hmm,

            Ende der Sommerzeit in Europa

            am letzen Sonntag des Oktober um 2.00

            2.00 Uhr ist falsch ;)
            1.00 Uhr GMT oder 3.00 Uhr Ortszeit, wobei die ja genau in der Stunde etwas schwammig ist ;)

            also meine Aeusserungen beziehen sich natuerlich nicht auf Europa, sondern auf Deutschland, in anderen Laendern mag das anders sein ;)

            --
            n.d.p.

          2. Moin nd,

            http://www.fortunecity.de/parkalleen/goldschmied/17/z4.htm
            nette Seite aber die Tabelle mit den Sommerzeiten stimmt nicht.

            Ich habe mir lediglich mal das Jahr 1998 rausgenommen, da steht ja schon eine halbe Seite weiter oben im GBL ein anderes Datum.

            Ergo würd ich den Rest dieser Tabelle sehr mit Vorsicht genießen :)

            Rolf

            1. Moin Rolf,

              http://www.fortunecity.de/parkalleen/goldschmied/17/z4.htm
              nette Seite aber die Tabelle mit den Sommerzeiten stimmt nicht.
              Ich habe mir lediglich mal das Jahr 1998 rausgenommen, da steht ja schon eine halbe Seite weiter oben im GBL ein anderes Datum.

              hmm, wo du recht hast, hast du recht ;)

              also doch lieber die "offizielle" von der ptb (siehe Thomas' Links)

              Viele Gruesse,

              n.d.p.

              1. Hi!

                http://www.fortunecity.de/parkalleen/goldschmied/17/z4.htm
                nette Seite aber die Tabelle mit den Sommerzeiten stimmt nicht.
                Ich habe mir lediglich mal das Jahr 1998 rausgenommen, da steht ja schon eine halbe Seite weiter oben im GBL ein anderes Datum.

                »»

                hmm, wo du recht hast, hast du recht ;)

                Hat schon jemand den Autor informiert? Bei einem so wichtigen Thema wuerde ich ungern von Fehlinformationen im Netz wissen.

                So long

                1. Moin,

                  Hat schon jemand den Autor informiert? Bei einem so wichtigen Thema wuerde ich ungern von Fehlinformationen im Netz wissen.

                  hab gerade ne Mail losgeschickt.

                  falls es jemanden interessiert, hier mein Modul, was aus den Infos entstanden ist:
                  (ueber die Hierarchie innerhalb der Time::-Gruppe bin ich mir noch nicht ganz im klaren...)
                  (demnaechst dann auch auf sf.net zu bewundern ;)

                  package Time::German;

                  ################################################################################
                  #                                                                              #

                  File:        shared/Time/German.pm

                  #                                                                              #

                  Authors:     Andre Malo       nd@o3media.de, 2001-06-10

                  #                                                                              #

                  Description: determine time offset German Time <=> GMT (seconds)

                  #                                                                              #
                  ################################################################################

                  use strict;

                  my %summertime = (
                    80 => [96, 271],
                    81 => [87, 269],
                    82 => [86, 268],
                    83 => [85, 267],
                    84 => [84, 273],
                    85 => [89, 271],
                    86 => [88, 270],
                    87 => [87, 269],
                    88 => [86, 268],
                    89 => [84, 266],
                    90 => [83, 272],
                    91 => [89, 271],
                    92 => [88, 270],
                    93 => [86, 268],
                    94 => [85, 267],
                    95 => [84, 266]
                  );

                  germantime ()

                  like 'localtime', but system independent

                  Params: $time - time since epoch (GMT)

                  Return: same as localtime, but german time ;-)

                  sub germantime (;$) {
                    my $time = shift;
                    $time = time unless defined $time;

                  my ($hour,$mday,$mon,$year,$wday,$yday) = (gmtime($time))[qw(2 3 4 5 6 7)];
                    my $offset = 1;

                  # 1980 - 1995
                    #
                    if ($summertime{$year}) {
                      $offset++ if (
                        (
                          $yday >  $summertime{$year} -> [0]  and
                          $yday <  $summertime{$year} -> [1]
                        ) or
                        (
                          $yday == $summertime{$year} -> [0]  and
                          $hour >= 1
                        ) or
                        (
                          $yday == $summertime{$year} -> [1]  and
                          $hour <= 1
                        )
                      );
                    }

                  # > 1995
                    #
                    elsif ($year > 95) {
                      # determine last Sunday in March or October
                      #
                      my $limit = $mday + int((31-$mday)/7) * 7 - $wday if ($mon == 2 or $mon == 9);

                  $offset++ if (
                        (
                          $mon > 2          and
                          $mon < 9
                        ) or
                        (
                          $mon  == 2        and
                          (
                            $mday >  $limit  or
                            $mday == $limit and
                            $hour >= 1
                          )
                        ) or
                        (
                          $mon == 9         and
                          (
                            $mday <  $limit  or
                            $mday == $limit and
                            $hour <= 1
                          )
                        )
                      );
                    }

                  return gmtime($time + $offset * 3600);
                  }

                  keep 'require' happy

                  1;

                  end of Time::German
      2. hallo nd,

        dabei hat er mir ausgegeben, was ich gesucht habe:
        http://www.fortunecity.de/parkalleen/goldschmied/17/z4.htm

        warum nicht dort wo das herkommt? *g*
        http://www.ptb.de/deutsch/org/4/43/432/soma.htm und
        http://www.ptb.de/deutsch/org/4/43/432/somn.htm

        grüße
        thomas

        1. Moin Thomas,

          warum nicht dort wo das herkommt? *g*
          http://www.ptb.de/deutsch/org/4/43/432/soma.htm und
          http://www.ptb.de/deutsch/org/4/43/432/somn.htm

          gute Frage, die Navigation auf ptb.de laesst definitiv zu wuenschen uebrig, ich habs naemlich dort nicht gefunden ;)

          Viele Gruesse,

          n.d.p.