python.casapython.casa
Home
  • Thema 1 - Einführung Programmiersprache
  • Thema 2 - Variablen und Datentypen
  • Thema 3 - Boolsche Algebra und Zeichenketten
  • Thema 4 - Datum und Zeit
  • Thema 5 - Kontrollstrukturen und Listen
  • Thema 6 - Funktionen und Flowcharts
  • Thema 7 - Objektorientierte Programmierung
  • Thema 8 - Ein- und Ausgabe
  • Thema 9 - Module und Import
  • Thema 10 - Datenbanken
  • Thema 11 - Grafische Benutzeroberfläche
  • Thema 12 - Webapplikation mit Python Flask
  • Thema 13 - Versionskontrolle mit Git
  • Thema 14 - Dokumentation mit Markdown
  • Thema 15 - Jupiter-Notebooks, SciPy und Matplotlib
GitHub
Home
  • Thema 1 - Einführung Programmiersprache
  • Thema 2 - Variablen und Datentypen
  • Thema 3 - Boolsche Algebra und Zeichenketten
  • Thema 4 - Datum und Zeit
  • Thema 5 - Kontrollstrukturen und Listen
  • Thema 6 - Funktionen und Flowcharts
  • Thema 7 - Objektorientierte Programmierung
  • Thema 8 - Ein- und Ausgabe
  • Thema 9 - Module und Import
  • Thema 10 - Datenbanken
  • Thema 11 - Grafische Benutzeroberfläche
  • Thema 12 - Webapplikation mit Python Flask
  • Thema 13 - Versionskontrolle mit Git
  • Thema 14 - Dokumentation mit Markdown
  • Thema 15 - Jupiter-Notebooks, SciPy und Matplotlib
GitHub
  • Stundenplan
  • Teil 1

    • Thema 1 - Einführung Programmiersprache
      • Slides Thema 1
      • Übungen Thema 1
    • Thema 2 - Variablen und Datentypen
      • Slides Thema 2
      • Übungen Thema 2
    • Thema 3 - Boolsche Algebra und Zeichenketten
      • Slides Thema 3
      • Übungen Thema 3
    • Thema 4 - Datum und Zeit
      • Slides Thema 4
        • Datum und Zeit
          • Lernziele
          • Timestamp
          • IDE vorbereiten
          • Aktuelles Datum und Uhrzeit
          • Unix Timestamp ausgeben
          • Jahr 2038
          • Einzelne Zeitkomponten ausgeben
          • Datum und Zeit formatieren
          • Eigenes Datumsformat
          • Datum und Zeit lokalisieren
          • Datum aus String lesen
          • Datum ohne Zeit
          • Zeit ohne Datum
          • Mit Zeiten rechnen
          • Zeitdifferenz berechnen
          • Aufgaben 1
          • Zeitzonen
          • Datum UTC
          • Datum bestimmte Zeitzone
          • Laufzeit von Code messen
          • Laufzeit der Programmausführung messen
          • Aufgaben 2
          • Review
      • Übungen Thema 4
    • Thema 5 - Kontrollstrukturen und Listen
      • Slides Thema 5
      • Übungen Thema 5
    • Thema 6 - Funktionen und Flowcharts
      • Slides Thema 6
      • Übungen Thema 6
    • Thema 7 - Objektorientierte Programmierung
      • Slides Thema 7
      • Übungen Thema 7
    • Thema 8 - Ein- und Ausgabe
      • Slides Thema 8
      • Übungen Thema 8
  • Teil 2

    • Thema 9 - Module und Import
      • Slides Thema 9
      • Übungen Thema 9
    • Thema 10 - Datenbanken
      • Slides Thema 10
      • Übungen Thema 10
    • Thema 11 - Grafische Benutzeroberfläche
      • Slides Thema 11
      • Übungen Thema 11
    • Thema 12 - Webapplikation mit Python Flask
      • Slides Thema 12
      • Übungen Thema 12
    • Thema 13 - Versionskontrolle mit Git
      • Slides Thema 13
      • Übungen Thema 13
    • Thema 14 - Dokumentation mit Markdown
      • Slides Thema 14
    • Thema 15 - Jupiter-Notebooks, SciPy und Matplotlib
      • Slides Thema 15
      • Übungen Thema 15
  • Prüfung

    • Wissensprüfung 1
    • Wissensprüfung 2
    • Leistungsnachweis

Slides Thema 4

Datum und Zeit

◀️ Thema 4

⚡Anwesenheit bestätigen

📖 Kapitel 6 Datum und Zeit


Lernziele

Ich kann ...

  • Datum und Uhrzeit in einer Variable speichern.
  • erklären wie der Computer die Zeit speichert.
  • Datum und Uhrzeit in einem bestimmten Format ausgeben.
  • Zeitdifferenzen in Stunde, Tagen und Jahren berechnen.

Timestamp

🤔 Wie speichert bzw. weiss der Computer die aktuelle Uhrzeit?

🙋 https://www.unixtimestamp.com/


IDE vorbereiten

🎬 Führen Sie diese Aktionen aus:

  • Neuer Ordner Thema4 erstellen
  • Neue Datei Datum und Zeit.py erstellen

Aktuelles Datum und Uhrzeit

🎬 Das aktuelle Datum und Uhrzeit ausgeben.

from datetime import datetime # Neue Funktionen aus der Python-Bibliothek
now = datetime.now()
print(now) # Ausgabe: YYYY-MM-DD HH:MM:SS

Unix Timestamp ausgeben

🎬 Anzahl Sekunden seit 01.01.1970 ausgeben.

print(now.timestamp())

ℹ️ Im Jahr 2038 haben 32-Bit Computer ein Problem.


Jahr 2038

Wann haben 32-Bit Computer ein Problem?

from datetime import datetime
sekunden = int(datetime.now().timestamp())
sekunden_binär = bin(sekunden)
anzahl_bits = len(str(sekunden_binär))-2 # Ist 31

print(f'Maximales Datum: {2**anzahl_bits}')

Output eingeben unter: https://www.unixtimestamp.com/

ℹ️ Mehr dazu https://de.wikipedia.org/wiki/Unixzeit#Jahr-2038-Problem.


Einzelne Zeitkomponten ausgeben

🎬 Jahr oder Monat ausgeben.

print(now.year)
print(now.month)

Datum und Zeit formatieren

🎬 Datum und Zeit können formatiert werden.

print(now.isoformat())
print(now.strftime('%d.%m.%Y %H:%M'))

ℹ️ Dateinamen am besten mit ISO-Format bennen. Dann stimmt die Sortierung.


Eigenes Datumsformat

Liste der Platzhalter: https://docs.python.org/3/library/time.html#time.strftime

🎬 Erstellen Sie eine eigene Formatierung.

print(now.strftime('%A, %d. %B %Y'))

Datum und Zeit lokalisieren

🎬 Ausgabe in der lokalen Sprache.

import locale  
locale.setlocale(locale.LC_ALL, 'de_DE.utf8')  # Linux    
locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8') # macOS  
locale.setlocale(locale.LC_ALL, 'german')      # Windows  

from datetime import datetime
print(datetime.now.strftime('%A, %d. %B %Y'))

Datum aus String lesen

🎬 Bei der Eingabe eines Datum ist das Format entscheidend.

from datetime import datetime
s = '2018-08-01 18:47'  
dt = datetime.strptime(s, '%Y-%m-%d %H:%M')
print(dt)

Datum ohne Zeit

Wir haben keine Zeit.

from datetime import date
print(date.today())

ℹ️ Wir importieren date und verwendent today.


Zeit ohne Datum

Wir haben kein Datum.

from datetime import datetime
print(datetime.now().time())

Mit Zeiten rechnen

🎬 Mit timedelta können Sie Zeit dazu rechnen.

from datetime import datetime, timedelta
today = datetime.now()
week = timedelta(weeks=1)
print(today)
print(week)
print(today + week)

Zeitdifferenz berechnen

🎬 Verwendet man today() kann die Differenz in Tagen berechnen.

from datetime import date, timedelta  
today = date.today()  
weihnachten = date(today.year, 12, 24)  
warten = weihnachten - today  
print('Noch', warten.days, 'Tage bis Weihnachten.')

Aufgaben 1

Lösen Sie die ersten zwei Aufgaben 4.1 und 4.2.

⚡Aufteilung in Gruppen/Breakout-Rooms ⏱️ 10 Minuten


Zeitzonen

Wir leben in verschiedenen Zeitzonen.


Datum UTC

🎬 Wir geben das Datum in der Zeitzone Coordinated Universal Time (UTC) aus.

from datetime import datetime  
import pytz  
utc = datetime.now(pytz.utc)  
print(utc)

ℹ️ Wenn pytz in Bibliothek nicht vorhanden ist, kann man pip install pytz auf der Kommandozeile ausführen.


Datum bestimmte Zeitzone

🎬 Wir können ein Datum einer bestimmten Zeitzone zuordnen.

berlin = pytz.timezone('Europe/Berlin')
berlintime = berlin.localize(datetime.now())
print(berlintime)

Laufzeit von Code messen

Wie lange braucht der Computer für eine Berechnung?

🎬 Führen Sie dieses Programm aus.

import time, math
start = time.process_time()

# Sinnlos Zeit totschlagen  
for i in range(1, 1000000):    
  x=math.sin(i)

end = time.process_time()    
print(end - start, 'Sekunden')

ℹ️ Mit import math erhalten Sie Zugriff auf mathematische Funktionen.


Laufzeit der Programmausführung messen

Wie lange wird das Programm ausgeführt?

🎬 Führen Sie dieses Programm aus.

from datetime import datetime
start = int(datetime.now().timestamp())

s = input()

end = int(datetime.now().timestamp())
print(end - start, 'Sekunden')

Aufgaben 2

Lösen Sie die restlichen Aufgaben.

⚡Aufteilung in Gruppen/Breakout-Rooms ⏱️ 10 Minuten


Review

🎯 Wurden die Lernziele erreicht?

⚡ Feedback zu den Zielen einholen.

Edit this page
Last Updated:
Contributors: Janik von Rotz
Next
Übungen Thema 4