Maison > développement back-end > C++ > Comment puis-je arrondir un DateTime à l'incrément de temps le plus proche en C# ?

Comment puis-je arrondir un DateTime à l'incrément de temps le plus proche en C# ?

Barbara Streisand
Libérer: 2025-01-06 19:06:40
original
391 Les gens l'ont consulté

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

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);
}
Copier après la connexion

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}
Copier après la connexion

Dans cet exemple :

  • dt1 avec une valeur initiale de "16:59" est arrondi à "17:00".
  • dt2 avec une valeur initiale de "17:00" reste inchangé puisqu'il tombe déjà sur un horaire de 15 minutes limite.
  • dt3 avec une valeur initiale de "17:01" est arrondi à "17:15".

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal