Heim >Backend-Entwicklung >C++ >Wie kann ich ein DateTime-Objekt 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.
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); }
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.
var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:11"), TimeSpan.FromMinutes(30)); // dt2 == {11/08/2011 17:30:00}
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!