Ich habe eine Eigenschaft in meinem Code, wo Benutzer eine Zeitspanne in HH eingeben können: mm wie
Ich möchte in meinem Eigentum zu den nächsten 15 Minuten abrunden, aber ich habe keine Datetime hier. Ich muss es nur mit Timespan
machen %Vor%Ich habe alle diese Lösungen versucht, aber sie beinhalten Datetime in ihnen
Wie kann ich aufrunden? die Zeit bis zu den nächsten X Minuten?
Gibt es eine einfache Funktion zum Runden einer DateTime auf die nächsten 30 Minuten in C #?
DotNet Roundoff datetime bis 15 Minuten
Ich denke, du willst so etwas:
%Vor%Wenn Sie 15 als das für die Rundung gewählte Intervall eingeben, addiert die Funktion zunächst 7 Minuten und dann auf die nächsten 15 Minuten. Dies sollte Ihnen geben, was Sie wollen.
Da oben eine Erweiterungsmethode geschrieben wurde, können Sie es wie folgt verwenden:
%Vor%Der erste wird 10:30, und der zweite wird 10:45 (wie gewünscht).
Ich mochte Baldricks Antwort, aber ich habe festgestellt, dass es nicht funktioniert, wenn negative TimeSpan-Werte verwendet werden (wie im Fall von Zeitzonen-Offsets).
Ich habe seinen ursprünglichen Code wie folgt geändert und dies scheint sowohl für positive als auch für negative TimeSpan-Werte zu funktionieren.
%Vor%Es kann so verwendet werden:
TimeSpan roundedMinutes = RoundTimeSpanUp(span, TimeSpan.FromMinutes(15));
oder um durch irgendeine Zeiteinheit aufzurunden, so:
TimeSpan roundedHours = RoundTimeSpanUp(span, TimeSpan.FromHours(1));
Tags und Links c#