 Hallo und herzlich willkommen hier in dem Vortrag. Eintag hat nur 24 plus minus eine Stunde oder Stunden. Wir haben jetzt gleich das Vergnügen, uns einen Vortrag anzuhören zu Zeitzonen und wie sich die auswirken auf Programmierung vor allem in Python und haben da das Vergnügen, dass uns Miro das vorstellt, der auch Python Meetups organisiert und also sehr passioniert in der Python-Welt unterwegs ist und sich mit den täglichen Ärgernissen auseinandersetzt, die man so als Programmierer hat und der das auch ein bisschen beleuchtet, warum haben wir denn diese Ärgernisse und woher kommt es, dass wir uns mit den Zeitzonen in der Programmierung auseinanderschlagen müssen. Herzlich willkommen, ich freue mich auf den Vortrag mit dir. Danke. Hallo zusammen. Eintag hat nur 24 Stunden und ich habe jetzt fast eine Stunde, um euch darüber was zu erzählen. Was werden wir heute lernen, wie man auf eine Uhr schaut, dass man auf eine Uhr nicht zu oft schauen soll und dass man auf die Finger eure Regierung schauen soll, was die damit macht. Mein Name ist Miro Slavšegivý, bin in Brezburg in Czechoslovakia geboren, das ist eigentlich die Zeitzone Europas Bratislava, habe in Saar-Lion in Frankreich studiert, das ist die Zeitzone Europas Paris und jetzt arbeite ich bei Solute GmbH in Karlsruhe, das ist die Zeitzone von Europa und Berlin. Das würde bedeuten, dass ich wahrscheinlich das ganze Leben in der mittel-europäischen Zeitzone gelebt habe, aber habe trotzdem ziemlich viel mit anderen Zeitzonen was zu tun gehabt. Bei Solute, die Firma, die hinter dem Billiga.de Portal steht, arbeiten wir mit vielen Technologien und jede arbeitet mit den Zeitzonen ein bisschen unterschiedlich. Übrigens, wenn euch irgendwas von den Technologien hier anspricht, könnt ihr gerne mit mir reden, wir brauchen Leute, die damit Spaß haben. Ich möchte jetzt gerne ein bisschen Live-Coding machen, nein, mache ich kein Live-Coding, aber in den nächsten Slides habe ich die aktuelle Zeit auf den Freitag 31. Mai 19, 2019, 1903, mittel-europäische Sommerzeit, also die Zeit, die hier in Karlsruhe in Deutschland schon gültig ist, eingestellt. Das heißt, jetzt könnt ihr eure Uhrzeit, jetzt auf diese Uhrzeit anstellen und so bleibt das auch die nächste fast eine Stunde. Wenn ihr hier seid, beiden, also ich mache jetzt das Beispiel, beiden, ich bin mir sicher, dass in anderen Programmiersprachen sind die Konzepte sehr ähnlich, wenn nicht, dann haben wir ein Problem. Wenn man jetzt in beiden, die aktuelle Zeit mit der Stadtern-Bibliothek lesen will, dann importiert man die Bibliothek Daytime und dann sagt man Daytime, Daytime now. Und dann kriegt man ein Objekt zurück, was die Felder für Jahr, Monat, Tag, Stunde, Minute, Sekunde und Mikrosekunde hat. Und das ist jetzt die aktuelle Uhrzeit, also heute 19.03. Das ist aber falsch, das ist gefährlich. Wenn ihr das auf eurem Rechne macht, das auf die mittel-europäische Zeit angestellt ist, dann funktioniert das ja so, aber sobald ihr das hier auf einem Server, der z.B. den UTC läuft, macht, dann kriegt ihr ein sehr ähnliches Objekt, aber an der Stelle von Stunden ist ein Offset von zwei Stunden und wenn ihr jetzt die zwei Objekte jetzt irgendwie vergleicht, ihr seht nicht, dass die unterschiedlich sind, da ist tatsächlich ein Offset von zwei Stunden, obwohl ihr die zwei Befehle auf zwei unterschiedlichen Rechnen gleichzeitig aufgerufen habt. Wenn ihr jetzt in beiden, die aktuelle Zeit in UTC, was ist Standard auf jedem Rechner, haben möchtet, dann sagt ihr, ich will Daytime, Daytime, UTC now und dann kriegt ihr so ein Objekt in UTC-Zeitsonne, also da steht, an der Stelle von Stunden steht da jetzt 17 und das ist die Antwort, die ihr von jedem Rechner kriegt, egal in welcher Zeitzone dieser Rechner läuft. Da ist, das ist schön, das funktioniert, das Problem ist nur, ich muss wissen im Hintergrund, ich möchte die Informationen behalten, dass das hier in UTC ist. Wenn ich jetzt aber ein Objekt erstellen will mit der aktuellen Uhrzeit und ich will wissen, ich bin jetzt in irgendeiner Zeitzone, dann für UTC kann man das, wir sind bald so machen, dass ich sage, ich will jetzt die aktuelle Uhrzeit, in der Zeitzone die heißt UTC. Da kommt jetzt ein Attribut, da kommt jetzt die Information, dass ist in UTC, so läuft es auf jedem Rechner und ist alles gut. Wir möchten jetzt aber gerne wissen, wie spät es jetzt hier lokal ist, wir wissen, wir sind jetzt in Mitteleuropa, Mitteleuropäische Sommerzeit, das heißt wir sind zwei Stunden vor dem UTC, also wir sagen, wir wollen jetzt aktuelle Zeit, in einer Zeitzone, die ist definiert durch Time Delta, zwei Stunden und da kriegen wir die aktuelle Zeit, 19 Uhr, drei und die Information, dass wir zwei Stunden vor dem UTC sind. Das ist zwar schön, das funktioniert für uns jetzt hier, aber wenn ich sowas jetzt hier in Deutschland im Winter laufen will, dann müsste ich an der Stelle von Hours gleich zwei, müsste ich jetzt Hours gleich eins schreiben, also ich müsste eigentlich immer wissen, in welchem Zeitoffset zu UTC ich mich befinde. Und da kommt in beiden und in vielen anderen Bibliotheken kein Weg an Third Art Libraries vorbei und in diesem Fall ist es ein PYTZ, wo ich dann sage, ich will die aktuelle Zeit in der Zeitzone Europa Berlin und dann kriege ich richtige Zeitpunkt und auch die Information, dass ich zwei Stunden vor UTC bin und das hier funktioniert eigentlich für die ganze Welt, da kann man das immer reinschreiben. Also so funktioniert eigentlich das Check-in der Uhr. Jetzt aber, denn wir jetzt so ein Stück Kot haben, wir sagen, wir wollen jetzt den heutigen Tag und wir wollen den gestrigen Tag. Also ich schreibe jetzt diese zwei Zahlen Kot, aktuelle Zeit und dann aktuelle Zeit minus ein Tag. Und das hier wird auf die Nase fallen, in dem Augenblick, wo ihr nicht im Büro sitzt, hoffentlich. Weil gerade um Mitternacht UTC, wenn ihr das Programm eine Mikrosekunde von Mitternacht startet, dann die erste Zeile läuft gerade von Mitternacht, die zweite Zeile läuft gerade eine Mikrosekunde nach Mitternacht und dann kriegt ihr TODAY und YESTERDAY das gleiche Datum. Das ist also eine schlechte Idee jetzt innerhalb von einem logischen Konzept oder logischer Einheit von eurem Programm, zweimal auf die Uhr zu schauen. Deswegen am besten fragen, was ist jetzt die aktuelle Zeit und dann mit dieser Variable dann weiterzuarbeiten. Also nur einmal auf die Uhr schauen. Es gibt doch einen Fall, wo ihr mehrmals auf die Uhr schauen wollt, zum Beispiel, wenn ihr irgendetwas runter lädt oder es gibt eine teure Operation, die, wo ihr wissen wollt, wann die angefangen hat, weil sie aufhört, damit ihr irgendwie die Zeit messen könnt. Da kann ich jetzt am Anfang sagen, das ist jetzt die aktuelle Zeit, dann kommt die Expensive Operation, dann mache ich Ende, also mit der Zeit am Ende und dann den Unterschied. Wenn ich jetzt aber Datum, Datum Utility Now mit dem teuren Datum Objekt mache, dann ist es ein bisschen wie mit Kanonen auf die Spazen zu schießen und man braucht so viel nicht, wenn ich eigentlich nur Unterschied zwischen zwei Zeitpunkten in Sekunden haben will. Deswegen ist es einfacher, die Standard-Bibliothek in Time, die den Unix Timestamp zurückgibt. Das ist Anzahl von Sekunden seit den 1970. Und dann mache ich das nochmal und dann berechne ich den Unterschied zwischen zwei Floats. Das ihr kann aber auch auf die Nase fallen. Stellt euch vor, dass gerade während dieser Expensive Operation Entipidate läuft, Uhr von eurem Rechner ist nicht ganz genau und dann Entipidate sagt, ja, es ist eigentlich paar Sekunden in Zukunft oder zurück und dann plötzlich Ent und Start geht in die Vergangenheit, also Ent-Minus-Start wird negativ. Deswegen checken der Achtung an Zeit aus Unix Timestamp ist auch keine gute Idee. Deswegen gibt es in beiden und hoffentlich auch in anderen Sprachen sowas wie Monotonic und das ist Anzahl von Sekunden oder das ist eigentlich ein Timer, der immer nach vorne geht, egal was mit der internen Uhr vom Rechner passiert. Dieser Zeller geht immer nach vorne und mit Timepunkt Monotonic kann ich jetzt eigentlich immer eine Float kriegen, die ist irgendwie relativ zum Anfang vom Prozess, aber die immer nach vorne geht und das heißt Ent-Minus-Start wird nachher eine positive Zahl. Wenn man jetzt bei 3.7 oder neuer benutzt kann man auch Monotonic in Nanosekunden, dann kriegt man was ganz, ganz, ganz genaues. Also so viel Thema programmieren mit Zeiten, wir gehen jetzt aber zurück zu der Zeit, wie sie tatsächlich ja in der Realität gemessen wird. Also wie würdet ihr jetzt Zeit messen? Wir gehen jetzt paar Jahrhunderte zurück. Am einfachsten ist es, ich schaue, wenn die Sonne in ihrer höchsten Position ist, einen Tag später wieder die höchste Position und ich teile das durch 24 und dann habe ich den Weg 24 Stunden falsch, weil die Sonne sich ein bisschen so nicht ganz regulär bewegt, eigentlich die Erde bewegt sich nicht ganz regulär, regelmäßig und da gibt es so was wie Equation of Time. Das heißt es ist tatsächlich hier in Deutschland, innerhalb von einem Jahr die Sonne, also Mittag, also Mittag bewegt sich innerhalb von einem Jahr bei fast 15 Minuten plus minus 15 Minuten. Das ist, wenn ihr irgendwie eine alte Uhr an einer Kirche seht, dann kann es sein, dass ihr, dass da noch so eine, wie eine Acht steht und das ist eigentlich Verlauf innerhalb von einem Jahr, wann die Sonne im Vergleich zu unserem Mittag in der höchsten Position ist. Das bewegt sich tatsächlich bei 15 Minuten plus oder 15 Minuten minus. Aber früher war das, also das hat man eigentlich festgestellt, wie das funktioniert, aber sonst war es egal, wie die Zeit irgendwo woanders war, weil man hat immer die lokale Zeit gehabt. Also man hat die lokale Zeit gehabt und wenn ich jetzt hier von Karlsruhe nach Forzheim gehen wollte, dann war das sowieso ein Tagesausflug. Also ich brauchte nicht die Information, wie spätest gerade in Forzheim ist. Dann später kam die Idee jetzt, also nicht die Idee, sondern die Notwendigkeit woanders Zeit zu messen auf Hohemsee. Weil wenn ihr auf dem Hohemsee ihre Position haben wollt, müsst ihr wissen, wann ist euer Mittag. Aber wann ist gleichzeitig Mittag, zum Beispiel in London damit ihr wisst, wie weit Richtung Westen ihr euch bewegt. Und das hat auch ein paar Jahrhunderte gedauert, bis man so eine Uhr gebaut hat, die tatsächlich auf dem Hohemsee richtige genaue Zeit messen konnte. Und auf dem Kontinent kam später die Eisenbahn und bei der Eisenbahn, was man will, es geht nicht so um die Passagiere. Es geht mehr darum, dass sich jetzt zwischen zwei Städten auf die Schienen jetzt nicht zwei Züge gleichzeitig schicken will. Deswegen brauchte man irgendeine Koordination zwischen den Städten. Und dann kam Greenwich aus Standard und in Frankreich haben die irgendwann, die Französische Eisenbahn hat Pariser Zeit angeführt, plus fünf Minuten. Fünf Minuten wegen verspäteten Passagieren, die jetzt ihren Zug erreichen wollten, dann haben man ihnen gesagt, okay, die Züge fahren immer fünf Minuten später. Das war jetzt die Standardzeit in Frankreich. Und so kamen jetzt weitere Länder, haben sich jetzt dem Standard angeschlossen zu dem Greenwich. Und das ist eigentlich das Greenwich, das GMT, Greenwich Mean Time. Das M kommt eigentlich aus dieser Equation of Time, weil Mean bedeutet mittlere Zeit innerhalb von einem Jahr mit diesem Offset von plus minus fünfzehn Minuten eingerechnet. Und jetzt die Länder, die haben sich jetzt dem angeschlossen und irgendwann kam auch UTC aus einem Sprachenkompromiss zwischen den Französischen und Englischen, weil die englische Abkürzung wäre was anderes als die Französische. Und man hat jetzt Universal Coordinated Time oder Universal Coordiné, hat man jetzt eine Abkürzung gemacht, UTC, die eigentlich aus keine Sprache kommt, aber es ist irgendwie so ein Kompromiss zwischen den Franzosen und Englischsprachigen. Und dann hat das in der Europa ungefähr so ausgesehen. Natürlich vor 120, 30 Jahren seien die Grenzen ein bisschen anders aus, aber London war Zentrum von der eine Zeitzone plus 15 Grad, das war ungefähr Prag. Und dann hier am Rhein müsste eigentlich damals so was wie eine Zeitzonengrenze sein. Warum das nicht so war, sehen wir später. Wenn ihr jetzt anfängt, also mit beiden, also in beiden oder in anderen Programmen Sprachen ist mit Zeitzonen zu arbeiten und ihr schaut euch an, ja wie viele Zeitzonen haben wir denn. Dann bei PiWaTZ, das ist die beiden Bibliothek, die auf DZ-Data-Bibliothek basiert, sind das über 400. Wo kommen die denn her? Da sind alle Zeitzonen der Welt, die gerade glücklich sind. Es geht nicht darum, Greenwich oder UTC und am plus minus 12, 13 Stunden dazu haben oder plus minus noch da irgendwelche halbe Stunden oder Viertelstunden, sondern man will auch historisch diese ganze Information behalten. Das heißt, welches Land hat sich irgendwann von einer Zeitzone zu einer anderen verschoben? Welche Länder haben Sommerzeit angeführt? Welche Länder haben Winterzeit eingeführt? Welche Länder haben Winterzeit oder Sommerzeit irgendwann verschoben? Und jetzt das hier, was ihr hier seht, das sind alle aktuellen Zeitzonen auf der Welt und die sind jetzt so garantiert, dass sie nach dem 1970 eindeutig sind. Was vorher war, können wir versuchen irgendwie abzubilden, aber das geht natürlich komplett nicht. Und was aber nachher war, inklusive alle unterschiedliche Länder, die seit 1970 entstanden sind, man versucht jetzt alle dieser Zeitzonen hier abzubilden. Wo kommen diese Informationen her? Also es gibt keine Autorität, die darüber entscheidet, Vereinigte Nationen oder etwas. Nein, es sind leider einzelne Länder, die sich spontan entscheiden, was sie machen. Es gibt eine Organisation, Internet Assigned Numbers Association, die jetzt versucht, das alles abzubilden. Und das ist eigentlich Single Point of Trust, das ist die einzige Stelle, wo ihr zuverlässig, mehr oder weniger zuverlässig, irgendwas über Zeitzonen erfahren könnt. Egal, was ihr selber entwickelt, ihr musst irgendwie auf diese Informationen basieren. Also auf dieser Webseite gibt es zwei Sachen. Es gibt Archiv von der Dcdata Bibliothek, schauen wir uns gleich an, und dann gibt es dort eine Mailing-Liste. Und diese Mailing-Liste, das ist gerade das interessanteste, weil da, das ist auch etwas, wo ihr jetzt ein bisschen helfen könnt. Sobald ihr seht, in Deutschland machen wir jetzt Sommerzeit oder Winterzeit oder Standardzeitabschaffung, Zeitumstellungabschaffung und sobald es offizielle Informationen gibt, dann bitte dort melden. Wenn man jetzt die aktuelle Datei nimmt, von 2019 a, die sind immer pro Jahr dann mit Buchstaben irgendwie durchnummeriert. Das ist jetzt eine Datei vom Ende März, die ist 370 Kilometer groß, wenn man sie entpackt, dann kriegt man sowas. Da ist ein bisschen, da sind ein paar Pearl-Skripte, Oak-Skripte, Shell-Skripte, aber das interessanteste sind die größten Dateien, die heißen Asia, Austral-Asia, Europa, Afrika, Nordamerika, Southamerika und so weiter. Und dann seht ihr Europa 170 Kilobytes, das drin ist Code, aus dem automatisch eure Dcdata, eure PYTZ, alle binäre Dateien, die jetzt in eure Datenbank, in Programmiersprachen, im System, auf dem Handy überall benutzt werden. Und neben diesem Code sind da Kommentare drin und die Kommentare, die kommen aus der Mailingliste und das ist gerade das interessanteste, das ist wie eine Enzyklopädie, das ist ein wunderschönes, wunderschönes nicht, so ekliges Lesen von dem, was hier in Europa oder auf der ganzen Welt in den letzten 130 Jahren passiert ist. Wenn man sich jetzt die aktuelle, also die Zeitzone, die wir hier benutzen, Europa Berlin anschaut, dann steht da, als Code, jetzt diese Datei, wo man in der ersten Zeile sieht, Europa Berlin, da steht jetzt 0 53 28. Das hier war LMT, das war LocalMintime und das war die lokale Zeit, die gültig war in Berlin bis April 1893. Das heißt, auch wenn wir hier in Karlsruhe, München, Hamburg, Köln oder irgendwo diese Zeitzone Europa Berlin benutzen, könnt ihr nicht die genaue Zeit hier im 19. Jahrhundert feststellen, weil hier natürlich die lokale Zeit war ein paar Minuten später. Dann gibt es so größere Blöcke Central Europe, gültig bis zum Ende vom zweiten Weltkrieg, dann so wird so ein, da sieht man eigentlich, dass es wieder Berlin ist, dass die Zeit, die jetzt in Berlin benutzt wurde, undefiniert wurde, die war da definiert und nicht hier in westlichen Bundesländern, dann bis 1980 war Germany und nachher jetzt ist die Rule EU gültig. Wenn wir uns jetzt diese Rules anschauen, das ist die Central European Rule von Ersten und von Zweiten Weltkrieg, mithilfe von dieser Sintags schreibt man alle Umstellungen von Sommerzeit, also Anfang-Sommerzeit, Ende-Sommerzeit und in welchem Jahr und in welchem Monat, in welchem Tag, also war das der letzte Sonntag, oder irgendwie erster Montag nach dem 15. und so weiter. Also da war ziemlich viel los. Sogar heutzutage gibt es vielleicht nicht für Berlin, aber für andere Zeitzonen gibt es noch Aktualisierungen von diesen historischen Daten, wo jemand in der Mellingliste sagt, oh ich habe eine alte Zeitung, eine alte sowjetische Zeitung aus 1917 gefunden und da steht irgendwie das jetzt in irgendeiner Region, wird die Zeit irgendwie geändert. Und gerade hier landen nachher die Änderungen. Nachher kommt die sowjetische Zone und jetzt Germany, also nach dem Zweiten Weltkrieg und das hier ist die Regel, die jetzt gerade gültig ist. Das sind die Sommerzeit-Einführungen in den Ende-70ern. Also diejenigen, die jetzt Ende-70ern, also schon nicht ganz klein waren, können sich vielleicht erinnern, dass damals in Europa wirklich ein Haus herrschte, weil Ende-70er Anfang, 80er, ziemlich jedes Land zu einem anderen Zeitpunkt die Sommerzeit angeführt hat. Die Zeilen, die letzten zwei Zeilen, das ist etwas, was ihr alle schon kennt. Also die ganz letzte Zeile sagt, dass man am letzten Sonntag im Oktober die Sommerzeit endet und die Zeile davor ist definierte Anfang von der Sommerzeit. Wer sich erinnert, dass die Sommerzeit nicht immer bis Ende Oktober gültig war, die war bis 1995 bis Ende September, also die Sommerzeit dauert ja nur sechs Monate. Und das steht eigentlich auch da drin. Also wenn man jetzt irgendwie eine Zeit berechnet in den 80ern oder Anfang 90ern im Oktober, dann stellt man fest, dass damals eigentlich noch keine Sommerzeit da war. Also so viel zum Berlin, wenn man sich jetzt die weiteren 440 Zeitzeilen angucken will. Jetzt, damit ihr jetzt hier irgendwas lesen könnt, würde ich vorschlagen, dass ihr eure Köpfe nach links dreht. Und dann, also die x-Achse, das ist Zeit, von 1880 bis 2038. In der Mitte ist Greenwich, nach oben ist Osten und nach unten ist Westen. Das heißt, in der Mitte bei den Null, da ist Europa und Afrika, nachher kommt Asien, Australien. Auf der anderen Seite bei minus 5, minus 8 ist Nordamerika, Südamerika. Und was man hier sieht, am Anfang ist es ziemlich wild. Das waren die lokalen Zeiten, wo jedes Land, also jedes Stadt eigentlich ihre lokale Zeit hatte und dann hat sich das so irgendwie kristallisiert. Und dann, was man da so sieht, da sind immer diese Sommerzeit-Einführungen und Sommerzeit. Ich sage immer Sommerzeit und keine Winterzeit, weil wenn ich jetzt höre irgendwie, wir wollen Winterzeit abschaffen, das ist falsch, Deutschland hatte nie Winterzeit. Es gibt trotzdem aber ein Land auf der Welt, was einmal in der Geschichte Winterzeit hatte und das war Czechoslovakia in 1946. Im November 1946 hat der Parlament, hat gesagt, also verabschiedet ein Gesetz, dass die Regierung Winterzeit einführen darf. Und dann am 27. November 1946 hat die Czechoslovakische Regierung gesagt, ab dem 1. Dezember, also plus vier Tage, führen wir Winterzeit ein. Das heißt, wir gehen noch eine Stunde zurück. Dass sie sowas nicht in the late saving time, sondern the late spending time wahrscheinlich. Und das war gültig bis Februar. Dann haben sie das abgeschafft und nie mehr eingeführt. Aber das Gesetz gilt noch. Und da Tschechien und Slowakei, also die zwei Länder, sind folge Länder von der Tschechoslovakei, tatsächlich das Gesetz ist gültig noch in beiden Ländern. Und die Tschechische Regierung oder die Slowakei Regierung darf jetzt jede Zeit Winterzeit einführen. Also was man da noch sieht, ab und zu sind so vertikale Sprünge. Die Grafik ist ganz einfach die vertikale Sprünge. Das sind irgendwelche Inseln im Pazifik, die einfach einen Tag in der Sprünge haben. Dann haben sie von minus zu plus oder umgekehrt gelandet. Was man da noch sieht, oben wo es so bunt war, nachher da ist so eine Lücke. Das ist Russland mit der Abschaffung von Sommerzeit. Aber was ihr seht, ist die Klinie 2019, da sind wir jetzt. Und das hier ist die aktuelle Version von TZData. Das heißt, wenn ihr jetzt eine App, also eine App-Programm irgendwo schreibt und dann in Virtual einfach im Docker super getestet, ich lasse das jetzt laufen auf Ewigkeiten. Und die sind zwei Jahre in der EU die Zeitungsstellung abschafft. Dann euer Programm wird weiterhin die Zeitungsstellungen im Ende März und in der Oktobermache. So ist das definiert. Und das habt ihr gesehen in der Europa-Regelstand da, dass es eigentlich bis Max, das bedeutet auf Ewigkeiten, wir die Zeitungsstellung stattfinden. Das heißt, sollte man nicht jetzt, wenn ihr sehen, was passiert, also mit der Zeitungsstellung in Europa, sollte man die Bibliotheken aktualisieren. Wenn wir uns jetzt so ein bisschen im Detail das anschauen, Europa, das ist nur Ausschnitt. Da seht ihr eigentlich die einzelnen Punkte, also die Städte mit der Farbe, also die Farbe sagt, wie spät es gerade da ist. Und dann die vertikalen Linien, die definieren, das ist jetzt Mitte von Green Beach. Da seht ihr das eigentlich Frankreich, Benelux und Spanien eigentlich komplett zu der westeuropäische Zeit gehören. In Deutschland seht ihr ein DE in Berlin und Deutschland hat zwei Zeitzonen. Die andere ist da im Süden an der Schweizer Grenze. Das ist Büsingen. Sie haben schon in Büsingen gewesen. Büsingen, das ist am Rhein, ist so eine, auf der Nordseite vom Rhein, zwischen Deutschland und Schweiz. Die Grenze ist rein, aber eigentlich rein ist so und die Grenze ist ein bisschen so. Und auf der Nordseite, da ist Schaffhausen, eine Schweizer Stadt. Und daneben ist eine kleine deutsche Exklave, die heißt Büsingen, paar Tausende Einwohner. Und ich weiß nicht, wie das mit der Post, Telekommunikation und so weiter haben, aber die 1979 als Deutschland Sommerzeit eingeführt hat und Schweiz nicht. Die Büsingen haben irgendwie vergessen, mit Deutschland mitzumachen und die sind in der Schweiz geblieben. Und deswegen gibt es jetzt eine Zeitzone, damit wenn jemand fragt, was war die Zeit im Sommer 79 in Büsingen, dann war sie natürlich anders als im Rest von Deutschland. Hier ist im Detail wieder die ganze Geschichte von Europa. Was interessant ist, ist zwischen den Jahren 1918 und 1940, also zwischen den zwei Weltkriegen, bei der Eins seht ihr so blaue Linie, die ein bisschen so rausguckt. Die macht immer Sommerzeit, aber die guckt so ein bisschen raus. Das ist Niederlanden mit dem Offset von 20 Minuten. Dann kam aus Deutschland Hitler und hat Niederlanden, Belgien, Luxemburg und Frankreich zur Mitteleuropäische Zeit gezogen. Und dann Franco in Spanien hat gesagt, das ist cool, ich mache mit. Also das, so sieht das hier in Europa aus. Es gibt irgendwelche Änderungen, aber da sind so viele Zeitzonen, weil ihr gesehen habt, dass jetzt jedes Land in Europa eigentlich eine Zeitzone ist, obwohl ihr in Mitteleuropä alle gleichzeitig mitmachen, noch bis 2021 garantiert. Es gibt aber trotzdem in Europa und auf der Welt gibt es so ein paar Stellen, wo diese Regelmäßigkeit ein bisschen verletzt wurde. Wenn wir jetzt nach Istanbul gehen, schauen wir uns jetzt die Datei für Istanbul und da seht ihr, dass da 2011, 14, 15, da irgendwelche so extra Fälle sind, weil normalerweise hätte man gesagt, wir haben keine Zeitumstellung Ende März, Ende Oktober, aber trotzdem, die haben irgendwas gemacht. Das ist nicht so ersichtlich, was da passiert ist, aber glücklicherweise in der Datei sind auch Kommentare. Und jetzt ein Kommentar am 10.03.2011. Türkei wird Sommerzeit am 28. März, anstatt vom 27. März, also am Montag, nicht am Sonntag, this changes you to a nationwide exam. Also die haben irgendwie eine Abitur oder etwas weiß ich nicht ganz genau, was sie gemacht haben und sie haben am 10.03. das ist weniger als drei Wochen davor, die haben entschieden, aber wir machen jetzt die Zeitumstellung einen Tag später. Die haben nichts gelernt, 2014. The last having time for Turkey has been changed, the Turkish vocal election. Das heißt, die haben jetzt auch wieder entschieden, dass sie wegen irgendeiner Lokalwahlen haben, sie werden die jetzt Zeitumstellung ein bisschen später machen, einen Tag später. Zweite Kommentar ist vom Randall Schwartz, dass er jetzt in Istanbul gelandet an dem Tag und keiner wusste, wie spät es ist. Das Problem an Flughäfen ist, auch wenn ihr Flugticket habt, da steht irgendwie Landen und Starten in lokale Zeit. Und wenn ich jetzt die Regierung irgendwie zwei Wochen davor entscheide, dass wir die Zeitumstellung doch zu einem anderen Zeitpunkt machen und am Flughafen habt ihr, das ist nicht so einfach wie wenn jetzt Leute irgendwo im Dorf, man sagt ihnen, heute ist, also im Radio sagt man, heute ist alles eine Stunde später oder früher, okay. Aber am Flughafen ist alles ziemlich knapp und Istanbul hat großes Flughafen, dann kam es tatsächlich zu großen Problemen. 2015 wieder nichts gelernt. It's officially announced the last winter time, ah ja, die Winterzeit jetzt erst am 8. November anfängt und das haben sie Ende September angekündigt. Und dann EAST war Abkürzung von Erdogal engineered Standard Time. Hier ist oben, Code ist ziemlich langweilig, da steht nichts, aber die Kommentare sagen, dass, oh wir bleiben die ganze Zeit, auch im Winter bleiben wir bei so einer Zeit und dann, nee doch nicht und dann doch, also alle diese Kommentare, die bleiben in der Datei auf Ewigkeiten und wenn ihr so nette seid, also nette seid, wenn ihr jetzt irgendwas feststellt dort schreibt dann, eventuell in einer nächsten Version von meinem Vortrag kann ich auch euch erwähnen. So und da kommen jetzt viele Kommentare aus 2016, 2017, dass sie doch etwas machen, doch etwas nicht machen, also oben im Code es ist einfach, da passiert nichts, aber die Kommentare bleiben da. So das war Türkei, wenn wir jetzt ein bisschen weiterreisen, Karakas, Venezuela, die haben 2016, im März haben sie entschieden, dass sie zwei Wochen später um 30 Minuten die Zeit verschieben. Und da ist irgendwie ein URL von Reuters und dann fünf Tage später, das ist ganz wichtig, wenn ihr irgendwas schickt, dann bitte immer ein Link zu einer Regierungszeitung, egal in welcher Sprache, das ist, in diesem Fall ist es Spanisch, okay, viele Leute verstehen Spanisch, es wird noch schlimmer. Aber da steht, also am 20.04. hat jetzt die Regierung in Official Gazette, hat jetzt veröffentlich und da ist jetzt eine URL aus Venezuela, also wenn man sich das nachguckt, dann steht tatsächlich, dass sie jetzt um 30 Minuten verschieben. Jetzt gehen wir aber noch ein bisschen, nee, also wir sind jetzt nicht weit vom Equator, wir gehen auf Bochtobcherns, das ist Haiti. Im Sommer hat Haiti 13 Stunden Sonne, im Winter 11 Stunden, trotzdem spielen sie mit der Sommerzeit, aber nicht ganz regelmäßig, seit paar Jahren diskutieren sie immer so im März, machen wir das jetzt oder nicht? Und dann oben erscheinen genauso wie Goals, also letzten März, ja nein, und dann Kommentare, also according to several new sources. Also dann liest man jetzt irgendwelche Zeitungen, man sucht in den Zeitungen nach offizieller Information, aber manchmal ist es schwierig zu finden. Letzte Information, wir haben jetzt vier E-Mails von vier unterschiedlichen Leuten gekriegt, also es scheint richtig zu sein. Noch ein Beispiel, Seoul und Pyongyang, die Südkorea haben damit angefangen, also die haben tatsächlich bis 1945 war Nord und Südkorea, das war zusammen, aber dann 1954 hat Südkorea entschieden, wir gehen halbestunde zurück, das hat das ganze Land mitgemacht, bis auf das ganze Flugverkehr, ganze See, also Kommunikation am Ozean, Meteorologie, weiß nicht was noch, also das heißt alles was irgendwie international aus Südkorea nach außen ging, blieb bei plus 9 Stunden, nur das ganze Land war plus, war bei plus 8 Stunden und 30 Minuten, dann haben sie ab, im 61 haben sie dann angefangen, dann haben sie dann auch Sommerzeit eingeführt und dann 61 ist das ganze Land wieder zurück zu plus 9 Stunden gegangen. In der Südkorea war das spannender in der neun- jüngere Zeit, 2015, according to many new sources, also Nordkorea wechselt zu 80 Stunden 30 anstatt von 9 Stunden am 15. August, angekündigt am 7. August und dann am 15. August das wichtigste natürlich Bellsrank, also da leuteten, war große Celebration, große Feierlichkeiten, aber gut, die haben jetzt die Zeit umgestellt. 2018 war die Situation in Südkorea wiederum so, dass sie wieder zurück zu Nordkorea, war die Situation so, dass sie wieder zurück zu Südkorea wollten und dann haben sie wieder entschieden, wir machen jetzt wieder plus 9 Stunden. Am 29.04. haben sie entschieden, dass sie ab dem 5.05. machen, also wieder nur eine Woche und wichtiger Link ist unten, it appears to be the front page story at the top in the rightmost column, wenn ihr da klickt, das ist eine PDF-Datei, die gefühlt so groß ist mit 12 Spalten und dann in einer Spalte oben irgendwo auf Koreanisch ist er wahrscheinlich geschrieben, dass die jetzt die Zeit um Stimmung machen und damit muss man jetzt arbeiten und mit solchen Informationen, also solchen Informationen muss man vertrauen und das ist das, was eigentlich nachher in eure Rechner, Server, Handys überall reinkommt. Also das heißt, das war jetzt nur so ein kleiner Auszug, ich bitte euch, also sage euch, schaut euch die Datei an, da ist wirklich viel, viel, viel Spannendes zum Lesen und das ändert sich auch alle paar Monate. Also das ist jetzt die erste Datei von 2019, die Dateien kommen regelmäßig bis zu zehnmal pro Jahr heraus, wir haben jetzt Ende Mai und das ist noch immer nur die erste Version. Was ich jetzt gelesen habe in der Mailingliste ist, dass Brasilien überlegt sich die Winterzeit abzuschaffen. Also es ist eigentlich Winterzeit, aber gut bei ihnen, es ist gerade gegenüber und es sind die Überlegungen, also in der Mailingliste schreiben viele Brasilianer, wir würden jetzt die Zeit um Stimmung abschaffen, aber es gibt noch keine Bestätigung von der Regierung. Wenn wir jetzt aber zurück nach Europa gehen und überlegen, was passiert jetzt ab 2021, wenn die Zeit um Stimmung abgeschafft wird, wie das so aussieht, ich wünsche mir so, weil das ist eigentlich das, was natürlich für die Sonne natürlich wäre. Ich glaube eher so, dass irgendwie ein Land, was Land im Namen hat, Deutschland, sagt, ja, wir machen das so und dann alle anderen Länder, ja, ja, wir machen, wir wollen keine Zeitzonnengrenze haben. Ja, zwischen Spanien und Portugal, da ist ein Zwang, da ist eine Stunde Unterschied zwischen Polen und Litauen, zwischen Ungarn und Rumänien und da sind alles in inneren EU-Grenzen. Also warum sollte jetzt nicht die Zeitzwangengrenze eigentlich so aussehen? Also das wird sich jetzt noch zeigen, es kann sein, dass jetzt alle Länder jetzt bei der Standardzeit bleiben, die anderen wollen Winterzeit abschaffen, obwohl es die Winterzeit hier nicht habe. Ja, machen Sie. Also was passiert eigentlich in den Dateien ist, dass bei Berlin eigentlich nichts, weil in der letzten Zahl von Berlin steht EU, also man benutzt die Regel von EU und dann in der EU-Regel die letzten zwei Zeilen, da steht jetzt Max-Max, also dass die Zeitumstellung Ende März, Ende Oktober stattfindet und bis unendlich und diese zwei Max werden bis durch 2021 ersetzt oder eventuell nur das eine wieder durch 2021, das andere nur durch 2020, falls wir bei der Sommerzeit bleiben wollen. So viel zum Thema, wenn ich jetzt irgendetwas mit Zeitzahlen machen wollte, erfindet bitte keine eigenen Zeitzahlen und kodiert bitte hart keine Regeln rein. Und versucht jetzt die Zeit, sondern Bibliotheken, also TEC-Data, auf dem neuesten Stand zu halten und wenn ihr irgendetwas historisiert, dann schreibt auch, welche Version von diese Data wurde dafür benutzt. Weil wenn ihr sagt, dass ich sie jetzt, ich bin jetzt immer in Berlin, aber Berlin war vorher so und jetzt so. Ja, das muss nicht eindeutig sein. Ich habe aus 2018, so mal aus dem letzten Sommer oder früher, Nordkorea jetzt von 8 Stunden 30 auf 9 Stunden gegangen ist. Ich habe jetzt meine Rechen auf dem neuesten Stand gehabt, aber in der Linnungsdistribution, die ich hatte damals, war beidens PYTZ war nicht abhängig von TEC-Data und die TEC-Data und PYTZ waren auf zwei unterschiedlichen Versionen, das heißt, mein Inchell zu fragen, was ist die aktuelle Zeit in Nordkorea und in Beiten zu fragen, was ist die aktuelle Zeit in Nordkorea, hat mir halbe Stunde Unterschied gezeigt. Mittlerweile habe ich das jetzt gefixt. Normalerweise basieren alle Bibliotheken, also Datenbank, Beiten, andere Programmiersprachen, alles, alles basiert auf dem auf der TEC-Data-Bibliothek. Wenn ihr sieht, dass eure Regierung irgendwie Absicht hat, irgendwas mit der Zeitzone zu machen, schreibt der TEC-Data-Org an und dann landet ihr auch in den Archiven auf Ewigkeiten. Oder eigentlich das einfachste wäre, die Zeitzone total zu meiden. Vielen Dank, aber wir haben noch ein bisschen Zeit für Fragen, obwohl da sind eigentlich nur Fragen da drin. Vielleicht ist zwei kurz zwei Kommentare, bevor ich zu einer Frage komme. Also das eine, du hattest so viel Türkei und wie das alles bestimmt wird erwähnt. Man muss gar nicht so weit gehen. Die Großbritannien ist momentan auch in der EU, aber ich habe das vor langen Jahren gelesen und ich glaube, es stimmt immer noch. In Großbritannien gibt es immer noch ein Gesetz, das die Hoheit der Zeit, der Atmer-Realität gehört und die Atmer-Realität aus der historischen Gründen darf immer bestimmen, wann die Zeit, was gerade die Uhr geschlagen hat. Das heißt, die könnten das auch jeder Zeit machen. Ein britisches Gesetz für die EU ist es bald vielleicht nicht relevant. Der zweite Hinweis für Lesen, was ich sehr spannend fand, ist Zeitzonen und Zeitinformationen in arabischen, in muslimischen Ländern zu lesen. Da gibt es sehr viel Spannendes zu lesen. Weil da dann ganz oft, das ist ein Sonnenbasier der Kalender und so was und da ist dann, wenn der Moezi sieht, dass die Sonne aufgeht und wenn der Sonnensturm ist, dann kann sich das auch mal einen Tag verschicken. Hat sehr interessante Kommentare drin. Vielleicht zum Programmieren kurz eine Frage, weil du erwähnt hast, das gab so ein Problem mit Payton Unix. Zumindest früher ist mir aufgefallen, dass in meinen Linux-Distributionen immer noch so eine Extradseitshundertheit für Java kommt. Ich habe mit Java so überhaupt gar nicht so gut. Ist das noch so? Die haben immer eine Extradseitshundertheit mit verteilt und das heißt, da können es auch mal so Unterschiede geben. Ja, das kann sein. Ich habe mit Java in diesem Jahrhundert noch nichts gemacht. Schade. Okay. Dankeschön. Hallo, danke für den Vortrag. Mal angenommen, du dürftest ja aussuchen, alle Zeitzonen auszuradieren und neu aufzuteilen, so wie es dir am besten gefallen würde. Du hast sich jetzt viel mit dir beschäftigt, falls was so Probleme entstehen. Wie wird dann, wie wird die Zeitzonen aussehen? Wie wird die ganze Welt aussehen? Wenn du das einteilen dürftest, gerade auch problematisch bei großen Ländern, die mehrere Zeitzonen sich erstrecken würden oder dann innerhalb der Länder, wenn man da Grenzen ziehen zwischen den Zeitzonen, was wäre anders? Also jetzt in Europa mit unseren aktuellen Grenzen sieht das ja gut aus, würde ich sagen. USA, ich weiss, also ich dachte immer, die haben so viele Staaten und ich dachte immer, die Grenzen zwischen den Staaten sind ziemlich gerade und ich dachte immer, die haben tatsächlich die Grenzen von den Zeitzonen ziemlich genau. Stimmt nicht. Von den 440 Zeitzonen, da ist America, Schreckstrich, Indiana, Schreckstrich und da sind ungefähr sieben Städte in Indiana, die sich seit 1970, seitdem es relevant ist, die haben sich immer systematisch irgendwie zwischen den 2 Zeitzonen umentschieden oder so eine Standardzeit nicht angeführt oder so. Also in Amerika, in USA wäre das ziemlich eindeutig durch die Staaten. China, ja gut, die machen so was. Wollen in Russland, das funktioniert ziemlich gut mit den Zeitzonen, auch wenn die ein bisschen, also nicht ganz gerade sind, da sind viele Städte, die jetzt ziemlich, also geografisch nicht ganz da passen, wo sie sind aber gehören sozusagen zu einer anderen Zeitzone. Also eigentlich würde tatsächlich die 24 Zeitzonen durch die Welt ziehen und fertig. Das Beispiel mit den USA gab es, meines Wissens, auch lange Zeit in der Schweiz, dass es immer einzelne Ortschaften gab, die keine Sommerzeit Umstellung mitgemacht haben. Es gibt ja tatsächlich, ja im Westen gibt es tatsächlich Teile, die keine Sommerzeit haben. Und auch Australien glaube ich, da sind zwei Regionen übereinander, also nördlich-südlich. Und eine hat Sommerzeit, also alle anderen haben Sommerzeit, nur die eine hat irgendwie keine Sommerzeit und die ist auch so irgendwie haubestünde daneben. In Richtung der Frage eben mit Amerika, da habe ich jetzt neulich dazu einen schönen Artikel gelesen, wo jemand visualisiert hatte, wie die Zeitzonen aussehen in Amerika. Und zurzeit ist es relativ okay. Also die, es sind halt so ungefähr so die Bänder, wie man sie erwarten würde, mit den verschiedenen Zeitzonen, also mit den vier, die es da gibt Pacific, Mountain, Central, Atlantic glaube ich. Und allerdings sind in 30 oder so von 50 Staaten gerade irgendwelche Gesetze anhängig in den entsprechenden Landesparlamenten irgendwelche Zeitzonen zu wechseln. Und dann haben sie die Karte zusammengestellt, wenn alle diese Änderungen durchgehen würden und das war natürlich total kraut und rüben, weil die manche gehen nach links, manche gehen nach rechts, manche gehen irgendwie stellen die Sommerzeit ab, stellen die Sommerzeit an und ja, es scheint so ein Gebiet zu sein, wo die Landesparlamente sagen hier, hier können wir mal Dinge beschließen. Ja. Und dann landet es dort und bleibt auf Häfigkeiten hier in Amerika. Ja, es ist wahrscheinlich Bike Shading, da hat jeder eine Meinung zu, zur Sommerzeit oder zur Zeitzonen, ob wir jetzt irgendwie uns synchronisieren sollen mit dem nächsten Staat nebenan, mit dem wir so viel Handel treiben oder doch lieber mit dem da drüben. Es ist furchtbar. Das ist das richtige Wort, es ist furchtbar. Gab es schon den Fall, dass die Sündtags für die Regeln angepasst werden musste, weil eine bestimmte sehr komplexe Regel erfunden wurde von dem Staat? Ja, das sieht man eigentlich, also es gibt irgendwo ja Lasts an und dann Letzte Sonntag und dann Dolche Sonntag. Ja, also manche Regeln musste man dann passen und ich glaube es sogar, dass mit diesem Fall, mit der Winterzeit in der Tschechoslowakei 46, es steht hier drin, aber man konnte das nicht irgendwie richtig in, zum Beispiel in Beiten setzen. Ich habe versucht zu dem Zeitpunkt irgendwie die Zeit zu gucken, welcher Offset damals war und das hat das irgendwie ignoriert. Und es gibt hier auch in den Dateien, gibt es auch ein paar Kommentare wie diese nächste Zeile, die funktionieren bei dem Parzer, aber nicht mit dem Parzer. Und dafür haben wir so eine andere. Aber das ist alles Pearl, also superlesbar, die Skripte, die damit arbeiten. Was mir jetzt so gerade auffällt ist, es scheint doch relativ konsistenz zu sein, dass die alle zumindest den griech-griechanischen Kalender einsetzen. Das ist ein anderes Thema, aber im nächsten Jahr ist die Gulasch-Programm ja nachts in der Wiederstadt, oder? Sehr schön, freue ich mich drauf. Es ist nicht nur griech-griechanische Kalender, es gibt auch sowjetischen Menschen aus den Dreißigern, der fünf Tage Woche hatte, wo jeder hat vier Tage gearbeitet, ein Tag hatte frei, das heißt, an jedem Tag hat 80 Prozent der Population gearbeitet und 20 hatte frei. Das ist aber nicht hier abbildbar. Hat noch jemand eine Frage? Vielleicht noch ein Reisetip, weil vorher auch die Frage gekommen ist, wie wird man sich eine schöne Zeitzoneinteilung sonst was machen? Wer sich für solche Sachen interessiert, sich sehe hier in der Nelf, in Furtwangen, im Schwarzwald, da war früher mal Junghans, so war es eine große Uhrenmetropole, die Kukuksuhren, da gibt es ein ganz tolles Uhrenmuseum, lohnt wirklich reinzugehen, weil da unter anderem auch so die Geschichte der Weltzeit ein bisschen dokumentiert ist. Diese frühen Überlegung, da habe ich das erst mal realisiert, wo wirklich die Eisenbahnaufgaben, wurde ernsthaft diskutiert, dass es keine Zeitzonen gibt, sondern dass man wirklich eine Weltzeit hat, mit 24 Stunden. Und ich glaube, auch die Deutschen waren dann mit dabei, ja das Glück gehabt, dass wenigstens bei uns Mahlzeit die Mittagsur um 11 Uhr geschlagen hätte, und das Problem ist halt, dass nicht alle im solcher Mittagessen gehen können. Aber das lange und intensiv diskutiert werden von Gremien und ist dann leider nicht umgesetzt worden, hätten wir die Probleme alle nicht. Dann hättest du gerade auf in manchen Teilen der Welt hättest du das Problem, ist es heute oder gehe ich heute oder morgen Mittagessen? Gehe ich jetzt oder erst in 14 Stunden? Das ist ganz einfach kein immer Mittagessen. Aber wie gesagt, einfach mal nach Furtwangen gehen, lohnt auch sonst ein Ausflug und da gibt es auch ganz viele schöne Sachen, für Zeit und Uhren und wer alles heute Uhr dreht. Eine letzte Chance noch? Wer möchte noch jemand? Ich habe eine Frage. Würde ihr seine Umfrage machen, wenn wir jetzt 2021 Deutschland so mal seit Standardzeit, wer ist für die Zeitumstellung? Wer will die Zeitumstellung behalten? Okay, wer will jetzt bei Standardzeit bleiben? Okay, und wer will Winterzeit einführen? Niemand? Okay, und es gibt keine weitere Fragen. Ja, was war? Ja, ich weiß. Ja, wie will jemand das überhaupt? Sommerzeit? Die ganze Zeit? Oder nee, will jemand eigentlich die osteuropäische Zeit in Deutschland haben? Niemand. Okay, gut. Dankeschön. Dann vielen herzlichen Dank für den Vortrag.