C# Zeit-Datentyp



  • Hallo,

    Wer kennt eine Moeglichkeit in C# Zeit zu repraesentieren? Ich habe mich bereits ueber System.DateTime informiert, jedoch benoetige ich keine Datumsangaben. Lediglich Stunden, Minuten, Sekunden.
    Bevor ich meine eigene Klasse implementiere, hoffe ich auf Anregungen aus dem Forum.

    Besten Dank,
    Dr. Goebel



  • Es bleibt bei DateTime. Kannst ja die unbenötigten Felder ignorieren, wenn sie dich stören. Es gibt noch TimeSpan zur Darstellung von Zeitdifferenzen.



  • Bashar schrieb:

    Es bleibt bei DateTime. Kannst ja die unbenötigten Felder ignorieren, wenn sie dich stören. Es gibt noch TimeSpan zur Darstellung von Zeitdifferenzen.

    Ist das gute Programmierpraxis die unbenoetigten Felder einfach zu ignorieren? Die angebotenen Konstruktoren verlangen ja nach Angaben zu Jahr, Monat, Tag. Die Verwendung irgendwelcher dummy-Werte sagt mir nicht zu. Vorschlaege?

    Cheers,
    Dr. Goebel



  • TimeSpan span = new TimeSpan(12, 45, 12);
    MessageBox.Show(span.ToString());
    


  • @Noodles: TimeSpan bezeichnent eine Zeitspanne, ist also nicht als Zeit-Datentyp zu gebrauchen.
    DateTime ist IMHO ok. Du kannst ja auch ein Time-Struct schreiben und DateTime darin kapseln. Ist halt dann ärgerlich, weil das Ding eigentlich zu groß und ein valuetype ist.



  • Naja aber eigentlich ist eine Zeit wirklich etwas so einfaches, dass man es auch selber schreiben kann. 🙂



  • Und warum gibt dann TimeOfDay ein TimeSpan Objekt zurück?



  • Weil es die Zeitspanne dieses Tages ist, die verstrichen ist. Ich überlege jetzt selber gerade, ob man das vielleicht doch hernehmen könnte. Ist aber bestimmt in einigen Situationen evil.



  • Das ist dann die Zeitdifferenz zum Anfang desselben Tages. Ergibt Sinn. Allerdings ist TimeSpan auch kein reiner Uhrzeittyp, man kann damit ja auch längere Zeiträume angeben. Das (non-)Problem der Dummy-Felder bleibt bestehen.


Anmelden zum Antworten