Heim > Backend-Entwicklung > C++ > Wie kann ich eine DateTime auf das nächste Zeitinkrement in C# aufrunden?

Wie kann ich eine DateTime auf das nächste Zeitinkrement in C# aufrunden?

Barbara Streisand
Freigeben: 2025-01-06 19:06:40
Original
391 Leute haben es durchsucht

How Can I Round Up a DateTime to the Nearest Time Increment in C#?

DateTime auf das nächste Zeitinkrement aufrunden

In vielen Programmierszenarien ist das Aufrunden eines DateTime-Werts auf das nächste spezifische Zeitinkrement erforderlich. Eine häufige Anforderung besteht beispielsweise darin, auf die nächsten 15 Minuten aufzurunden, um den Einschränkungen des Geschäftsplans gerecht zu werden.

Um diesem Bedarf gerecht zu werden, kann eine einfache und effektive Funktion namens RoundUp verwendet werden. Es benötigt zwei Parameter: einen DateTime-Wert und einen TimeSpan, der das gewünschte Inkrement darstellt.

Funktionsimplementierung:

public static DateTime RoundUp(DateTime dt, TimeSpan d)
{
    return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind);
}
Nach dem Login kopieren

Verwendung:

Das folgende Codefragment zeigt, wie die RoundUp-Funktion auf verschiedene DateTime-Werte mit einem Inkrement von 15 angewendet wird Minuten:

// Round up to nearest 15-minute increment
var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15));
// Output: {11/08/2011 17:00:00}

var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:00"), TimeSpan.FromMinutes(15));
// Output: {11/08/2011 17:00:00}

var dt3 = RoundUp(DateTime.Parse("2011-08-11 17:01"), TimeSpan.FromMinutes(15));
// Output: {11/08/2011 17:15:00}
Nach dem Login kopieren

In diesem Beispiel:

  • dt1 mit einem Anfangswert von „16:59“ wird auf „17:00“ aufgerundet.
  • dt2 mit einem Anfangswert von „17:00“ bleibt unverändert, da es bereits auf eine 15-Minuten-Marke fällt Grenze.
  • dt3 mit einem Anfangswert von „17:01“ wird auf „17:15“ aufgerundet.

Das obige ist der detaillierte Inhalt vonWie kann ich eine DateTime auf das nächste Zeitinkrement in C# aufrunden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage