Entfernen Sie Stunden:Sekunden:Millisekunden in DateTime-Objekt
Ich versuche einen string aus dem DateTime-Objekt, welches die format mm:dd:yyyy
.
Konventionell die DateTime
Objekt kommt als mm:dd:yyyy hrs:min:sec AM/PM
.
Ist es ein Weg, um schnell zu entfernen, das hrs:min:sec AM/PM
Teil des DateTime-so dass, wenn ich es konvertieren ToString()
es wird nur Ergebnis in mm:dd:yyyy
?
Wissen, Sie haben eine richtige Antwort 🙂 wollte Nur ein Tipp der auf diese Seite: msdn.microsoft.com/en-us/library/az4se3k1(v=VS.100).aspx Es ist eine große Ressource für die Datum-Formatierung, die ich normalerweise benutze 🙂
Konventionell das DateTime-Objekt kommt als mm:TT:JJJJ STD:min:Sek (AM/PM). - Nein, das geht nicht. Das wäre ein schrecklich design-Entscheidung, wenn es getan hat! Ich glaube, du vergisst, dass die Ausgabe von DateTime.ToString, hängt von Ihrer aktuellen Kultur.
Konventionell das DateTime-Objekt kommt als mm:TT:JJJJ STD:min:Sek (AM/PM). - Nein, das geht nicht. Das wäre ein schrecklich design-Entscheidung, wenn es getan hat! Ich glaube, du vergisst, dass die Ausgabe von DateTime.ToString, hängt von Ihrer aktuellen Kultur.
InformationsquelleAutor locoboy | 2010-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Frage zu beantworten, Nein - Sie würde haben, um es zu speichern in einen anderen Typ. Die einfachste Wahl ist, um einen string.
Aber ich würde auch dringend raten, gegen die Speicherung von Daten intern im Programm als Zeichenketten. Dies macht es schwierig, zu tun, die keine Berechnungen oder Vergleiche auf. Des weiteren würde ich Ihnen raten, gegen die Erzwingung einer bestimmten Kultur für die Datum Darstellung, wie es heißt, Ihre Anwendung wird wahrscheinlich nicht funktionieren wie erwartet, in anderen Kulturen als Ihrer.
Einen etwas anspruchsvolleren Ansatz ist das erstellen einer benutzerdefinierten Klasse, die überschreibt ToString. Ich würde auch vermeiden, diese aber, weil es noch schwierig sein, die Ihren Typ mit dem standard-library-Funktionen. Sie wandeln hin und her die ganze Zeit.
Nur lassen Sie es als DateTime und die Konvertierung zum string nur in der Präsentationsschicht. Sie können
DateTime.ToShortDateString
zu drucken, ein Benutzer-freundliches Kultur bewusst string.Ich mag diese Lösung, weil ich brauche es als einen string, wenn die Abfrage eines außerhalb webservice 🙂
Nicht versuchen, zu konvertieren, eine datetime-Zeichenfolge, um es zu manipulieren! Dies ist eine schlechte form, und deutlich langsamer ist als Gebäude das aktuelle Datum die Zeit von it-Komponenten.
InformationsquelleAutor Mark Byers
Diese bekommt das aktuelle Datum & Zeit, Datum und fügt hinzu, Stunden und Minuten.
DateTime.Now
nur einmal, speichern Sie das Ergebnis in einer Variablen zu, und verwenden Sie die variable, sonst riskieren Sie den Aufbau einerDateWithTimeNoSeconds
ist, dass eine Stunde aus, oder auch nur einen Tag aus (falls verwendet, an der wiederum der Stunde / Tag). Beispiel:var now = DateTime.Now; now = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, 0);
InformationsquelleAutor Dave
http://msdn.microsoft.com/en-us/library/system.datetime.date.aspx
InformationsquelleAutor Gopi
In der Regel, ich bin mit DateTime.ToShortDateString() zu konvertieren in ein
Culture
-bewusste Weise in einen string.Diese Weise können Sie das format bisher nur die Beachtung der aktuellen Formatierung der Kultur gesetzt, um den aktuellen thread.
DateTime.ToShortDateString()
. Ich war einfach nur zu schreiben, dass in meiner Antwort, und als danach bemerkt Sie auch geschrieben die exakt gleichen Vorschlag.Wow, eine 153-er aus-führte eine 100379-er. Muss mein Glückstag :-). Danke!!!
InformationsquelleAutor Uwe Keim
Während in den meisten Fällen Stimme ich mit Mark Byers, ich hatte eine situation, wo ich brauchte, um ein Datum speichern Zeit, war immer nur körnige bis die Stunde. Speichern der Minuten und Sekunden wäre nicht nur überflüssig, sondern auch unrichtig. Der Anwender gibt einfach ein Datum gewählt und die Stunde, also während das Datum und die Stunde werden Benutzer ausgewählt, die Minuten und Sekunden eingestellt werden würde, um was auch immer die aktuelle Zeit.
Entfernen von Minuten und Sekunden ist sehr einfach in diesem Fall. Hier ist der code:
Dann Speicher ich es in die DB ein Datum-Zeit, mit Minuten und Sekunden immer auf 0.
InformationsquelleAutor user2113657
Über
DateTime.AddMinutes
(oder Sekunden oder Stunden), wenn Sie wollen, zu ENTFERNEN statt hinzuzufügen, fügen Sie einfach eine negative Zahl!InformationsquelleAutor lunarnet76
Einfach Weg, wohl nicht die beste, aber
Oder für kurze
InformationsquelleAutor Riaan Hayes
Wenn Sie entfernen möchten, Stunden, Sekunden, Millisekunden (entfernen Sie zum zurücksetzen auf 0) aus einer
DateTime
- Objekt ohne Konvertierung in eine Zeichenfolge, die Sie verwenden können, dieDate
Eigenschaft.Das Beispiel unten verwendet die Date-Eigenschaft zu extrahieren, die Datum Komponente eines DateTime-Werts mit der Zeit-Komponente auf null gesetzt (oder 0:00:00 oder Mitternacht).
msdn
InformationsquelleAutor aloisdg
Etwas wie dies für Datum und Uhrzeit ohne Sekunden:
InformationsquelleAutor khablander