Sommer/Winterzeit ermitteln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

Hallo zusammen,

ich würde gerne die Sommer/Winterzeit ermittteln
laut Galileo Computing soll das wie folgt funktionieren:
http://python.haas.homelinux.net/python ... 16_001.htm

Leider weiß ich nicht wie ich das anweden soll:
tm_isdst
kann mir jemad sagen wie das geht?

vielen Dank im voraus
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Was meinst du mit "ermitteln"?
Sommer- und Winterzeit ist v.a. ein regionales und rechtliches Konstrukt. Es gibt Laender ohne den Unterschied, auch gibt es zB einen Unterschied zwischen der von Deutschland und beispielsweise den USA (in denen es auch Bundesstaaten ohne gibt).

Dieses Flag, das du gefunden hast zeigt nicht mehr an als, "das ist eine Zeit in Sommerzeit". D.h. ob das stimmt haengt auch von der Erstellung des Zeitobjekts ab.
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

Hintergrund ist folgender:
ich möchte mir eine Steuerung bauen bei der, der Ausgang für den Rolladen immer bei Sonnenaufgang bzw Untergang gesetzt wird.

zuerst wollte ich mir die 365 Werte in eine Datenbank schreiben,
Abhängig vom Tag hätte ich dann in die Datenbank geschaut so so die Sonnenaufgangs und Untergangszeiten ermittelt
leider ist die Sommer/ Winterzeit umstellung nicht immer am gleichen Tag sondern immer am letzten Sonntag vom März

z.B habe ich für das Jahr 2012 folgende Daten gefunden:
24.03.2012 ist Sonnenaufgang um 6:12Uhr am
25.03.2012 ist Sonnenaufgang um 7:10Uhr

das heißt, das mein Rolladen am 24.03 um 6:12Uhr hoch gehen würde
einen Tag später erst um 7:10 was natürlich viel zu spät ist.

Deshalb sollte ich wissen ob es Sommer oder Winterzeit ist

gibt es da eine andere möglichkeit?

vielen Dank im voraus?
Chris79
User
Beiträge: 15
Registriert: Dienstag 26. Januar 2016, 21:45

Was hältst du von der (zugegeben nicht python) Idee anstatt einen Sommer/Winterflag zu nutzen einfach die Systemzeit deiner Steuerung über einen ntp syncst der die Sommer-/Winterzeit berücksichtigst?

Dann passt das auch mit deinen Werten in der Liste

Gruß Chris
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

und wie geht das?
muss da der Computer dann immer im Internet hängen?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Je nach Einstellung muss er das nicht. Ich bin mir ziemlich sicher, dass fuer Linux Systeme gilt, dass sie automatisch Sommer-/Winterzeit umstellen.
Du musst das aber auf jeden Fall ueberpruefen, denn wenn du dein System die Zeit anpasst und du trotzdem die GMT fuer den Rolladen benutzt, dann liegst du 2 Stunden daneben.

Du willst aber eigentlich auch gar nicht Sommer/Winterzeit feststellen, weil du dann ja die Zeiten eines halben Jahres anpassen muesstest, sondern sicherstellen, dass das System die richtige Zeit benutzt.
Insofern wuerde ich die Loesung auch nicht auf Pythonseite suchen.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@erdmulch: was Du eigentlich willst, ist eine Zeit, die unabhängig von Sommer- oder Winterzeit ist, also z.B. UTC. Gibt es per datetime.utcnow(). Den genauen Zeitpunkt von Sonnenauf- und untergang hängt dann von Deiner geographischen Lage ab. Bei mir in Tallage ist das auch immer ein paar Stunden früher, als offiziell für eine flache Kugel berechnet.
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

Ich glaub ich habe die Lösung gefunden:
now = time.localtime()
print("Sommerzeit:", now.tm_isdst) # Sommerzeit: 1; Winterzeit: 0

Winterzeit = now.tm_isdst =0
bedeutet, dass nun die Sonne ganz normal nach der geografischen Lage untergeht.

Sommerzeit = now.tm_isdst =1
Nach der Sommerzeitumstellung ist now.tm_isdst =1 beduetet, dass nun die Sonne eine Stunde später untergeht.

sehe ich das richtig?
Bitte um kurze Rückantwort

vielen Dank
Antworten