@MetroSmurf - dem OP ist natürlich nicht klar, was er tun will. Einer meiner Lieblingshasse ist es, zu früh zu Fäden zu gehen. Ich hatte einen Kollegen, der alles in String umwandelte - sogar Doppel usw. Es ist ein Unfall, der darauf wartet, passiert zu werden. Ich würde sagen, konvertieren Sie Objekte nicht in Zeichenfolgen, bis Sie das Objekt einem Menschen anzeigen möchten. Bis dahin bleib bei den Objekten.
Paul
1
Zum schnellen Nachschlagen sssind Sekunden mit einer führenden Null unds ist Sekunden ohne
Beevee
beste Antwort bisher
Tk1993
76
Von a DateTimekönnen Sie verwenden .TimeOfDay- aber das gibt Ihnen eine TimeSpanDarstellung der Zeit in den Tag (10 Stunden).
oder Sonderfälle mit Formatierung auf ToString ("Formatcodes")
kenny
61
In C # gibt es nur den DateTime-Typ, der sowohl aus dem Datums- als auch aus dem Zeitanteil besteht. Wenn Sie sich nicht für den Date-Teil von DateTime interessieren, setzen Sie ihn wie folgt auf den Standardwert:
Auf diese Weise können Sie in allen Versionen von .NET konsistent sein, auch wenn Microsoft beschließt, das Basisdatum auf etwas anderes als den 1.1.10001 zu ändern.
Es gibt auch viele andere Methoden und Eigenschaften für das DateTime- Objekt, mit denen Sie das Datum oder die Uhrzeit nach Belieben formatieren können. Schauen Sie sich einfach die Dokumentation an.
+1 Dies ist die sauberste Lösung, wenn Sie in einer internationalen Umgebung arbeiten, in der die Zeitausgabe lokalisiert werden muss, da die Zeit in dem Format zurückgegeben wird, auf das das aktuelle System eingestellt wurde.
Es gibt verschiedene Möglichkeiten, dies zu tun. Sie können verwenden, DateTime.Now.ToLongTimeString()was nur die Zeit im Zeichenfolgenformat zurückgibt.
Sie meinten wahrscheinlich DateTime.ToLongTimeString()eher als DateTime.Now.ToLongTimeString(). Angesichts des Alters dieses Threads ist es am besten, ihn nicht wiederzubeleben, es sei denn, die Antwort trägt erheblich zur Verbesserung gegenüber früheren Antworten bei.
Wenn Sie die Rasteransicht verwenden, können Sie nur die Zeit anhand eines DataFormatString="{0:t}"
Beispiels anzeigen :
By bind the value:-<asp:Label ID="lblreg" runat="server"Text='<%#Eval("Registration_Time ", "{0:t}") %>'></asp:Label>By bound filed:-<asp:BoundFieldDataField=" Registration_Time"HeaderText="Brithday"SortExpression=" Registration Time "DataFormatString="{0:t}"/>
Wenn Sie die Zeiten und nicht die Daten vergleichen möchten, können Sie einfach ein Standardvergleichsdatum festlegen oder mit dem von Ihnen verwendeten Datum übereinstimmen, wie in ...
Es hat keinen Sinn, diese Frage zu beantworten. Sie wurde vor 9 Jahren gestellt. Auch auf diese Frage gibt es schon viele gute Antworten.
Benshabatnoam
Sie geben die Zeit nicht zurück. Sie sollten Ihre Antwort überprüfen
Yepeekai
@Yepeekai In .NET gibt es keine Zeitklasse. Daher ist eine DateTime-Instanz ohne Date-Teil eine der Optionen, die Sie ausführen können. Sie können auch eine Zeichenfolge zurückgeben, diese können Sie jedoch in DateTime-Vorgängen verwenden. Ich denke, Sie könnten auch eine Zeitspanne in Betracht ziehen.
user3720899
Imo ist die "neue DateTime (d.TimeOfDay.Ticks)" die bisher sauberste Antwort
Antworten:
Sie haben dafür viele Möglichkeiten:
Hilfreicher Link: DateTime.ToString () Muster
quelle
ss
sind Sekunden mit einer führenden Null unds
ist Sekunden ohneVon a
DateTime
können Sie verwenden.TimeOfDay
- aber das gibt Ihnen eineTimeSpan
Darstellung der Zeit in den Tag (10 Stunden).quelle
In C # gibt es nur den DateTime-Typ, der sowohl aus dem Datums- als auch aus dem Zeitanteil besteht. Wenn Sie sich nicht für den Date-Teil von DateTime interessieren, setzen Sie ihn wie folgt auf den Standardwert:
Auf diese Weise können Sie in allen Versionen von .NET konsistent sein, auch wenn Microsoft beschließt, das Basisdatum auf etwas anderes als den 1.1.10001 zu ändern.
quelle
Vielleicht möchten Sie in DateTime.ToShortTimeString () schauen -Methode .
Es gibt auch viele andere Methoden und Eigenschaften für das DateTime- Objekt, mit denen Sie das Datum oder die Uhrzeit nach Belieben formatieren können. Schauen Sie sich einfach die Dokumentation an.
quelle
Versuche dies:
quelle
Es gibt verschiedene Möglichkeiten, dies zu tun. Sie können verwenden,
DateTime.Now.ToLongTimeString()
was nur die Zeit im Zeichenfolgenformat zurückgibt.quelle
DateTime.ToLongTimeString()
eher alsDateTime.Now.ToLongTimeString()
. Angesichts des Alters dieses Threads ist es am besten, ihn nicht wiederzubeleben, es sei denn, die Antwort trägt erheblich zur Verbesserung gegenüber früheren Antworten bei.Sie können einfach schreiben
quelle
Sie können dies verwenden
Es ist Echtzeit mit einem Millisekundenwert und wird nur auf Zeit eingestellt.
quelle
quelle
Das funktioniert bei mir. Ich habe es entdeckt, als ich mit DateTime.Date arbeiten musste, um nur den Datumsteil zu erhalten.
quelle
Sie können
ToString("T")
für lange Zeit oderToString("t")
für kurze Zeit verwenden.quelle
Wenn Sie die Rasteransicht verwenden, können Sie nur die Zeit anhand eines
DataFormatString="{0:t}"
Beispiels anzeigen :quelle
Wenn Sie die Zeiten und nicht die Daten vergleichen möchten, können Sie einfach ein Standardvergleichsdatum festlegen oder mit dem von Ihnen verwendeten Datum übereinstimmen, wie in ...
Möglicherweise gibt es bessere Möglichkeiten, aber Ihre Daten stimmen überein.
quelle
Sie müssen auch DateTime Kind berücksichtigen.
quelle