Heim >Backend-Entwicklung >C++ >Wie kann ich ein DateTime-Objekt auf die nächsten X Minuten aufrunden?

Wie kann ich ein DateTime-Objekt auf die nächsten X Minuten aufrunden?

Linda Hamilton
Linda HamiltonOriginal
2025-01-06 19:35:41992Durchsuche

How Can I Round Up a DateTime Object to the Nearest X Minutes?

Zeit auf die nächsten X Minuten aufrunden

Beim Umgang mit Zeitstempeln ist es oft notwendig, Zeitwerte auf bestimmte Intervalle zu runden. Beispielsweise müssen Sie möglicherweise eine Zeit auf die nächsten 15 Minuten runden, insbesondere wenn Sie mit Planungs- oder Terminsystemen arbeiten.

Um diesem Bedarf gerecht zu werden, gibt es eine vielseitige Funktion, die das einfache Aufrunden einer Zeit ermöglicht DateTime-Objekt auf die nächsten X Minuten genau.

Implementierung

Der folgende Codeausschnitt zeigt das oben Genannte Funktion:

DateTime RoundUp(DateTime dt, TimeSpan d)
{
    return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind);
}

Verwendung

Um diese Funktion zu verwenden, geben Sie einfach die DateTime an, die Sie runden möchten, und das Intervall (TimeSpan), auf das gerundet werden soll. Um beispielsweise auf die nächsten 15 Minuten aufzurunden:

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

Dadurch wird die Zeit auf das nächste 15-Minuten-Intervall gerundet, was im obigen Beispiel 17:00 Uhr ergibt.

Weitere Beispiele

  • Aufrunden auf die nächsten 30 Minuten:
var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:11"), TimeSpan.FromMinutes(30));
// dt2 == {11/08/2011 17:30:00}
  • Aufgerundet auf die nächsten 60 Minuten (1 Stunde):
var dt3 = RoundUp(DateTime.Parse("2011-08-11 18:05"), TimeSpan.FromMinutes(60));
// dt3 == {11/08/2011 19:00:00}

Das obige ist der detaillierte Inhalt vonWie kann ich ein DateTime-Objekt auf die nächsten X Minuten aufrunden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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