Angenommen, ich habe den Wert 22.06.2009 10:00:00 Uhr. Wie bekomme ich ab diesem Datum nur 10:00 Uhr.
Angenommen, ich habe den Wert 22.06.2009 10:00:00 Uhr. Wie bekomme ich ab diesem Datum nur 10:00 Uhr.
Antworten:
Sie haben dafür viele Möglichkeiten:
DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");
dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock
Hilfreicher Link: DateTime.ToString () Muster
ss
sind Sekunden mit einer führenden Null unds
ist Sekunden ohne
Von a DateTime
können Sie verwenden .TimeOfDay
- aber das gibt Ihnen eine TimeSpan
Darstellung der Zeit in den Tag (10 Stunden).
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:
DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)
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.
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.
Versuche dies:
TimeSpan TodayTime = DateTime.Now.TimeOfDay;
Es gibt verschiedene Möglichkeiten, dies zu tun. Sie können verwenden, DateTime.Now.ToLongTimeString()
was nur die Zeit im Zeichenfolgenformat zurückgibt.
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.
Sie können einfach schreiben
string time = dateTimeObect.ToString("HH:mm");
Sie können dies verwenden
lblTime.Text = DateTime.Now.TimeOfDay.ToString();
Es ist Echtzeit mit einem Millisekundenwert und wird nur auf Zeit eingestellt.
DateTime now = DateTime.Now;
now.ToLongDateString(); // Wednesday, January 2, 2019
now.ToLongTimeString(); // 2:33:59 PM
now.ToShortDateString(); // 1/2/2019
now.ToShortTimeString(); // 2:16 PM
now.ToString(); // 1/2/2019 2:33:59 PM
Sie können ToString("T")
für lange Zeit oder ToString("t")
für kurze Zeit verwenden.
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:BoundField DataField=" 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 ...
DateTime time = DateTime.Parse("6/22/2009 10:00AM");
DateTime compare = DateTime.Parse(time.ToShortDateString() + " 2:00PM");
bool greater = (time > compare);
Möglicherweise gibt es bessere Möglichkeiten, aber Ihre Daten stimmen überein.
Sie müssen auch DateTime Kind berücksichtigen.
public static DateTime GetTime(this DateTime d)
{
return new DateTime(d.TimeOfDay.Ticks, d.Kind);
}