Zeitpunkt der nächsten Zeitumstellung bestimmen?

  • Hallo,


    die nächste Zeitumstellung rückt näher und ich wollte mich nochmal mit diesem Problem hier beschäftigen. Dafür brauchte ich ein Shellskript (ggf. auch Perl), dass den Zeitpunkt der nächsten Zeitumstellung berechnet, also 2 Uhr am letzten Sonntag im März bzw. 3 Uhr am letzten Sonntag im Oktober und außerdem ausgibt, welche Umstellung (SZ->WZ oder WZ->SZ) dann stattfindet. Die Zeit sollte am besten in Sekunden vergleichbar mit der Ausgabe von "date +%s" ausgegeben werden.


    Hat jemand sowas oder weiß eine Quelle? Ich habe fleißig gegooglet, aber nichts gefunden. Und zum Selberschreiben habe ich zu wenig Ahnung und Erfahrung.


    Danke für eure Tipps,


    Matthias

  • Hi,


    ich koennte mir ungefaehr sowas vorstellen, obwohl man das sicher huebscher machen kann:


    Code
    for TIMEZONE in CET CEST
    do
        for DAY in `seq 1 365`
        do
            date --date "$DAY days" +"naechste Zeitumstellung in $DAY Tagen auf %Z"
        done | fgrep $TIMEZONE | head -n1
    done | fgrep -v "in 1 Tagen"


    Zumindest grob geschaetzt sollte das Ergebnis ja passen :)


    cu
    gonz

  • Zitat

    Original von mhunstig
    die nächste Zeitumstellung rückt näher und ich wollte mich nochmal mit diesem Problem hier beschäftigen.


    Lässt sich das Problem nicht umgehen, indem man die BIOS-Uhr auf UTC laufen lässt?


    Trotzdem eine spannende Frage, da das System ja durch die (hoffentlich ;) ) eingestellte Zeitzone weiß, wann und wie es die Uhr umstellen muss ... nur wie an die Information rankommen? ?(


    Habe mal ein wenig man pages durchstöbert und bin dabei auf "zdump" gestoßen, welches zur glibc gehören dürfte (ist bei Slackware zumindest in selbigem Paket mit drin):



    Als "zonename" nehmen wir /etc/localtime (das sollte eine Kopie der Zeitzonendatei sein, in der sich der Rechner befindet ... oder zumindest ein Symlink darauf). Dann noch ein kleines Script drumherum, um die richtige(n) Zeile(n) zu erwischen, dann müssten wir die gewünschten Infos haben:



    ... sollte alles drin sein, was man brauchen könnte, oder? :D

  • Zitat

    Original von Greywolf


    Lässt sich das Problem nicht umgehen, indem man die BIOS-Uhr auf UTC laufen lässt?


    Nein, leider nicht, da man bei UTC im BIOS und ACPI-Wakeup jedesmal beim schreiben der Aufwachzeit die Zeitzonenrechnung machen müsste. So oder so - man kommt da nicht drum herum, wenn NVRAM nicht klappt. Zumindest bei mir ist es so.


    Zitat

    ... sollte alles drin sein, was man brauchen könnte, oder? :D


    Danke für die Hilfe. Wenn ich mal wieder etwas mehr Zeit habe - wohl nicht vor übermorgen - probier ich mal, es in mein Skript einzubauen.


    gonz: Danke auch für deine Hilfe. Um die Sache mit vdr-requant kümmere ich mich demnächst auch.


    Gruß,


    Matthias

  • Eine automatische Lösung für die Zeitumstellung des vdr Rechners
    suche ich auch.


    Manuell geht mir das irgendwie auf den Zeiger, auch wenns nur 2x im
    Jahr ist.


    Ich habe das automatische Systemzeitstellen per Sat abgeschaltet,
    da mir der vdr mal eine Aufnahme vorzeitig beendet hat nachdem
    die Bios Uhr eine zu große Differenz der per Sat gesendeten Zeit
    aufwies.


    Daher stelle ich nur 1x die Systemzeit per Sat nach einer
    Zeitumstellung, anschließend die Zeit ins Bios übernehmen mit
    hwclock --systohc
    und den vdr per
    shutdown -r now
    booten da der vdr-shutdown wegen nvram-wakeup dann nicht mehr funktinoniert.


    Wäre ja schön wenn man das automatisch machen könnte.


    Toll wäre es ja auch wenn der vdr das mitbekommen würde ob
    die Zeit schon umgestellt ist oder nicht, dann
    könnten Aufnahmen die über bzw.- kurz nach dem Verstellzeitpunkt
    stattfinden auch richtig gesteuert werden.



    Gruß,
    Gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

    Einmal editiert, zuletzt von gromit ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!