Maison > développement back-end > C++ > Comment arrondir un DateTime aux X minutes les plus proches en C# ?

Comment arrondir un DateTime aux X minutes les plus proches en C# ?

Susan Sarandon
Libérer: 2025-01-06 18:59:44
original
767 Les gens l'ont consulté

How to Round Up a DateTime to the Nearest X Minutes in C#?

Comment arrondir un DateTime aux X minutes les plus proches avec C

Arrondir un DateTime au nombre de minutes spécifié le plus proche peut être utile dans une variété de scénarios . Voici une solution simple et efficace pour cette tâche :

  1. Créer une fonction utilitaire RoundUp :
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
  1. Utilisation :

Pour arrondir un DateTime aux 15 minutes les plus proches, utilisez le code suivant :

var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15));
// dt1 == {11/08/2011 17:00:00}
Copier après la connexion
  1. Comprendre le code :
  • La fonction RoundUp prend un DateTime (dt) et un TimeSpan (d) représentant l'intervalle d'arrondi.
  • L'expression (dt.Ticks d.Ticks - 1) calcule la valeur de tick la plus proche divisible par d.Ticks.
  • La division et la multiplication par d.Ticks garantissent que le résultat est arrondi à l'intervalle spécifié.
  • Le nouveau DateTime est créé avec le calcul ticks et du même type (local/UTC) que le DateTime d'origine.

Exemple Sortie :

  • Entrée : 2011-08-11 16:59
  • Résultat : 2011-08-11 17:00

Supplémentaire Notes :

  • Cette approche arrondit au nombre entier d'intervalles le plus proche, quel que soit le fuseau horaire.
  • Pour arrondir vers le bas, remplacez (dt.Ticks d.Ticks - 1) avec (dt.Tiques 1).

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!

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