Einführung
In diesem Tutorial lernst du, wie man mit VisualStudio in C# mit Datum und Uhrzeit arbeitet und wie man neue Instanzen von DateTime bzw. TimeSpan erstellt.
Die COUNT IT wünscht dir viel Spaß beim Experimentieren!
Vorbereitung
Öffne Visual Studio und erstelle eine neue Konsolenapplikation (Console Application).
Nun wurde das Projekt erstellt und bereits die Program.cs Datei geöffnet. Wird die App mit dem grünen Startbutton (oder mit F5) gestartet öffnet sich ein Konsolenfenster und der Code in der Main Methode wird aufgerufen.
Auf der Suche nach weiteren C# Tutorials?
Los geht's!
Ausgabe in der Konsole
Als erstes wollen wir uns das aktuelle Datum und die aktuelle Uhrzeit in der Konsole ausgeben lassen.
Mit DateTime.Now wird ein neues DateTime Objekt erzeugt, welches das aktuelle Datum und die jetzige Uhrzeit beinhaltet. Um dieses Objekt in der Konsole auszugeben, müssen wir es in einen String (Text) umwandeln. Dafür gibt es die Methode ToString().
Diese Methode erkennt auch, in welchem Land man sich befindet und formatiert das Datum/Uhrzeit so, wie es für das Land typisch ist.
Die ToString() Methode gibt sowohl Datum, als auch die Uhrzeit aus.
Will man nur das Datum ausgeben, gibt es die Methoden ToShortDateString() und ToLongDateString().
Will man nur die Zeit ausgeben, gibt es die Methoden ToShortTimeString() und ToLongTimeString().
Probiere es doch gleich mal aus:
Rechnen mit DateTime
Für das Rechnen mit DateTime gibt es verschiedene Funktionen. Hier sind ein paar Beispiele:
- .AddDays(days)
- .AddHours(hours)
- .AddMinutes(minutes)
Methoden zum Subtrahieren wird man vergeblich suchen, denn sie werden auch nicht benötigt! Will man einen bestimmten Wert abziehen, so kann man einfach einen negativen Wert addieren!
Die Add-Methoden addieren zum Datum den gewünschten Wert und geben das Ergebnis als neues DateTime zurück. So kann man direkt danach eine ToString-Methode aufrufen.
Ausgabe in der Konsole (Einzeln)
Oben habe ich bereits erklärt, wie man das DateTime Objekt als Datum und oder Uhrzeit in der Konsole ausgeben kann. Oft möchte man aber nur beispielsweise das Monat oder das Jahr ausgeben.
Für hat das DateTime-Objekt verschiedene Properties, wie beispielsweise .Month, .Year, .Day, .DayOfWeek, etc.
Benutzerdefiniertes DateTime erstellen
Bisher habe ich nur gezeigt, wie man ein DateTime des jetzigen Datum bzw. Uhrzeit erstellt. Natürlich kann man ein DateTime auch von einem beliebigen Datum bzw. Uhrzeit erstellen. Hierfür gibt man dem Konstruktor Parameter mit.
Man kann auch ein DateTime aus einem Text erstellen. Dafür gibt es die DateTime.Parse() Funktion. Diese Funktion nimmt einen String, wo das Datum (zb.: "13/3/2004") oder Datum und Uhrzeit (zb.: "13/3/2004 15:06:00") enthalten ist.
Wichtig ist hierbei, dass das Monat vor dem Tag kommt ("Monat/Tag/Jahr"). Für mehr Infos welche Formate des Strings möglich sind siehe die Microsoft Dokumentation.
Berechnen von Differenzen
Will man die Differenz von 2 DateTime Objekten berechnen kann man die .Subtract-Methode verwenden. Sie zieht vom DateTime ein 2tes DateTime ab. Die Methode gibt einen TimeSpan Objekt zurück, welcher die berechnete Zeitspanne ist.