Arrondir DateTime à l'incrément de temps le plus proche
Dans de nombreux scénarios de programmation, arrondir une valeur DateTime à l'incrément de temps spécifique le plus proche devient nécessaire. Par exemple, une exigence courante consiste à arrondir aux 15 minutes les plus proches pour s'aligner sur les contraintes du calendrier professionnel.
Pour répondre à ce besoin, une fonction simple et efficace appelée RoundUp peut être utilisée. Il prend deux paramètres : une valeur DateTime et un TimeSpan représentant l'incrément souhaité.
Implémentation de la fonction :
public static DateTime RoundUp(DateTime dt, TimeSpan d) { return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind); }
Utilisation :
L'extrait de code suivant montre comment appliquer la fonction RoundUp à diverses valeurs DateTime avec un incrément de 15 minutes :
// 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}
Dans cet exemple :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!