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
706 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!

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