Was ist die beste Methode, um ein DateTime-Objekt auf eine bestimmte Genauigkeit zu trimmen? Zum Beispiel, wenn ich eine DateTime mit einem Wert von "2008-09-29 09:41:43" habe, aber ich möchte nur, dass die Genauigkeit auf die Minute genau ist, gibt es dann einen besseren Weg?Gibt es eine bessere Möglichkeit, eine DateTime auf eine bestimmte Genauigkeit zu trimmen?
private static DateTime TrimDateToMinute(DateTime date)
{
return new DateTime(
date.Year,
date.Month,
date.Day,
date.Hour,
date.Minute,
0);
}
Was würde ich wirklich will, ist es variabel zu machen, damit ich seine Präzision auf die Sekunde, Minute, Stunde oder Tag einstellen könnte.
Ich mag das sehr und wenn ich das 3.5-Framework benutze, wäre dies der Weg, den ich nehmen würde, es sei denn, es gibt noch etwas Besseres da draußen. Leider benutze ich 2.0, daher muss ich bei der ersten Antwort bleiben. Vielen Dank! –
Wenn Sie es als allgemeine Erweiterungsmethode verwenden, sollten Sie das DateTimeKind (Unspecified/Utc/Local) beibehalten: return new DateTime (date.Ticks - date.Ticks% roundTicks, date.Kind); – Joe
... oder ein Einzeiler, der auch die Kind-Eigenschaft beibehält: d = d.AddTicks (- (d.Ticks + 30 * TimeSpan.TicksPerSecond)% TimeSpan.TicksPerMinute); – Joe