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

Comment puis-je arrondir un objet DateTime aux X minutes les plus proches ?

Linda Hamilton
Libérer: 2025-01-06 19:35:41
original
1009 Les gens l'ont consulté

How Can I Round Up a DateTime Object to the Nearest X Minutes?

Arrondir le temps aux X minutes les plus proches

Lorsqu'il s'agit d'horodatages, il devient souvent nécessaire d'arrondir les valeurs de temps à des intervalles spécifiques. Par exemple, vous devrez peut-être arrondir une heure aux 15 minutes les plus proches, en particulier lorsque vous travaillez avec des systèmes de planification ou de rendez-vous.

Pour répondre à ce besoin, il existe une fonction polyvalente qui permet d'arrondir facilement une heure. Objet DateTime aux X minutes les plus proches.

Implémentation

L'extrait de code suivant présente ce qui précède function :

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

Pour utiliser cette fonction, fournissez simplement le DateTime que vous souhaitez arrondir et l'intervalle (TimeSpan) auquel arrondir. Par exemple, pour arrondir aux 15 minutes supérieures :

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

Cela arrondira l'heure à l'intervalle de 15 minutes le plus proche, ce qui donnera 17h00 dans l'exemple ci-dessus.

Exemples supplémentaires

  • Arrondir à la trentaine la plus proche minutes :
var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:11"), TimeSpan.FromMinutes(30));
// dt2 == {11/08/2011 17:30:00}
Copier après la connexion
  • Arrondi aux 60 minutes (1 heure) les plus proches :
var dt3 = RoundUp(DateTime.Parse("2011-08-11 18:05"), TimeSpan.FromMinutes(60));
// dt3 == {11/08/2011 19:00:00}
Copier après la connexion

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