Lire en anglais

Partager via


DateTime.AddHours(Double) Méthode

Définition

Retourne un nouveau DateTime qui ajoute le nombre d'heures spécifié à la valeur de cette instance.

C#
public DateTime AddHours(double value);

Paramètres

value
Double

Nombre d'heures entières et partielles. Le paramètre value peut être négatif ou positif.

Retours

Objet dont la valeur est égale à la somme de la date et de l'heure représentées par cette instance et du nombre d'heures représenté par value.

Exceptions

Le résultat DateTime est inférieur à DateTime.MinValue ou supérieur à DateTime.MaxValue.

Exemples

L’exemple suivant utilise la AddHours méthode pour ajouter un nombre de valeurs entières et fractionnaires à une date et une heure. Il illustre également la perte de précision provoquée par la transmission à la méthode d’une valeur qui inclut un composant fractionnaire.

C#
using System;

public class Example
{
   public static void Main()
   {
      double[] hours = {.08333, .16667, .25, .33333, .5, .66667, 1, 2,
                        29, 30, 31, 90, 365};
      DateTime dateValue = new DateTime(2009, 3, 1, 12, 0, 0);

      foreach (double hour in hours)
         Console.WriteLine("{0} + {1} hour(s) = {2}", dateValue, hour,
                           dateValue.AddHours(hour));
   }
}
// The example displays the following output on a system whose current
// culture is en-US:
//    3/1/2009 12:00:00 PM + 0.08333 hour(s) = 3/1/2009 12:04:59 PM
//    3/1/2009 12:00:00 PM + 0.16667 hour(s) = 3/1/2009 12:10:00 PM
//    3/1/2009 12:00:00 PM + 0.25 hour(s) = 3/1/2009 12:15:00 PM
//    3/1/2009 12:00:00 PM + 0.33333 hour(s) = 3/1/2009 12:19:59 PM
//    3/1/2009 12:00:00 PM + 0.5 hour(s) = 3/1/2009 12:30:00 PM
//    3/1/2009 12:00:00 PM + 0.66667 hour(s) = 3/1/2009 12:40:00 PM
//    3/1/2009 12:00:00 PM + 1 hour(s) = 3/1/2009 1:00:00 PM
//    3/1/2009 12:00:00 PM + 2 hour(s) = 3/1/2009 2:00:00 PM
//    3/1/2009 12:00:00 PM + 29 hour(s) = 3/2/2009 5:00:00 PM
//    3/1/2009 12:00:00 PM + 30 hour(s) = 3/2/2009 6:00:00 PM
//    3/1/2009 12:00:00 PM + 31 hour(s) = 3/2/2009 7:00:00 PM
//    3/1/2009 12:00:00 PM + 90 hour(s) = 3/5/2009 6:00:00 AM
//    3/1/2009 12:00:00 PM + 365 hour(s) = 3/16/2009 5:00:00 PM

Remarques

Cette méthode ne modifie pas la valeur de ce DateTime. Au lieu de cela, il retourne un nouveau DateTime dont la valeur est le résultat de cette opération. La Kind propriété de l’objet retourné DateTime est identique à celle de value.

La partie fractionnaire de value est la partie fractionnaire d’une heure. Par exemple, 4,5 équivaut à 4 heures, 30 minutes, 0 seconde, 0 milliseconde et 0 ticks.

Dans .NET 6 et les versions antérieures, le value paramètre est arrondi à la milliseconde la plus proche. Dans .NET 7 et versions ultérieures, la précision complète Double du value paramètre est utilisée. Toutefois, en raison de l’imprécision inhérente des mathématiques à virgule flottante, la précision obtenue varie.

La conversion d’intervalles de temps de moins d’une heure en fraction peut entraîner une perte de précision si le résultat est une décimale qui ne se termine pas. (Par exemple, une minute est 0,016667 d’heure.) Si cela pose problème, vous pouvez utiliser la Add méthode, qui vous permet de spécifier plusieurs types d’intervalles de temps dans un seul appel de méthode et élimine la nécessité de convertir des intervalles de temps en parties fractionnaires d’une heure.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Voir aussi