C# > Lösungen, Rezepte, Tipps, Fragen
Datum ohne Millisekunden
Die Datum / Zeit ohne Millisekunden (= sekundengenaue Angabe) lässt sich so ermitteln:
var dt = DateTime.Now;
dt = new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, dt.Kind);
Dies wird z. B. benötigt, wenn das Datum + Zeit in einer Datenbank gespeichert wird und diese (z. B. beim MS SQL Server datetime Datentyp) eine Umwandlung aufgrund einer anderen Präzision stattfindet.
In diesem Fall sind die beiden Daten nicht mehr identisch - d. h. etwaige Vergleiche schlagen fehl - evtl. werden aber die Milli-Sekunden nicht benötigt, so dass diese generell entfernt werden und damit die Speicherung des Datums entsprechend denselben Wert enthält.
Alternative als Extension-Methode (Erweiterung von [DateTime]):
/// <summary>
/// Returns the [DateTime] without milliseconds part.
/// </summary>
public
static
DateTime WithoutMilliseconds(
this
DateTime dateTime)
{
return
new
DateTime(dateTime.Year, dateTime.Month, dateTime.Day, dateTime.Hour, dateTime.Minute, dateTime.Second, dateTime.Kind);
}