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
Linda Hamiltonoriginal
2025-01-06 19:35:41970parcourir

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);
}

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}

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}
  • 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}

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:
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