Heim >Backend-Entwicklung >C++ >Wie kann ich ein DateTime-Objekt in C# auf die nächsten X Minuten aufrunden?
DateTime auf die nächsten X Minuten aufrunden
Frage:
Wie kann man runden? Erweitern Sie ein DateTime-Objekt auf das nächste Vielfache einer angegebenen Anzahl von Minuten?
Anwendungsfall:
Diese Technik ist in Szenarien nützlich, in denen Sie eine Zeit an einem konsistenten Intervall festhalten müssen, z. B. beim Planen von Terminen oder beim Ausrichten von Daten an bestimmte Zeitrahmen.
Lösung:
Die folgende C#-Funktion, RoundUp führt diesen Rundungsvorgang aus:
public static DateTime RoundUp(DateTime dt, TimeSpan d) { return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind); }
Beispiel:
Um einen DateTime-Wert auf die nächsten 15 Minuten aufzurunden, verwenden Sie den folgenden Code:
var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15));
Dies führt dazu, dass dt1 auf {11.08.2011 gesetzt wird 17:00:00}. Wenn der ursprüngliche Wert 2011-08-11 17:01 ist, wird dt1 entsprechend auf {11/08/2011 17:15:00} gesetzt.
Durch Anpassen des TimeSpan.FromMinutes(15)-Arguments können Sie ein beliebiges Rundungsintervall angeben. Diese Methode bietet eine praktische Möglichkeit, Zeiten auf bestimmte Intervalle aufzurunden, sodass Sie in Ihren Anwendungen präzise Zeitberechnungen durchführen können.
Das obige ist der detaillierte Inhalt vonWie kann ich ein DateTime-Objekt in C# auf die nächsten X Minuten aufrunden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!