Partager via


DateTimeOffset.AddDays(Double) Méthode

Définition

Retourne un nouvel objet DateTimeOffset qui ajoute un nombre spécifié de jours entiers et partiels à la valeur de cette instance.

public:
 DateTimeOffset AddDays(double days);
public DateTimeOffset AddDays (double days);
member this.AddDays : double -> DateTimeOffset
Public Function AddDays (days As Double) As DateTimeOffset

Paramètres

days
Double

Nombre de jours entiers et partiels. Le nombre 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 l'objet DateTimeOffset actuel et du nombre de jours représenté par days.

Exceptions

La valeur résultante DateTimeOffset est inférieure à DateTimeOffset.MinValue.

-ou-

La valeur résultante DateTimeOffset est supérieure à DateTimeOffset.MaxValue.

Exemples

L’exemple suivant utilise la AddDays méthode pour répertorier les dates qui tombent le lundi, début de la semaine de travail, en mars 2008.

DateTimeOffset workDay = new DateTimeOffset(2008, 3, 1, 9, 0, 0,
                   DateTimeOffset.Now.Offset);
int month = workDay.Month;
// Start with the first Monday of the month
if (workDay.DayOfWeek != DayOfWeek.Monday)
{
   if (workDay.DayOfWeek == DayOfWeek.Sunday)
      workDay = workDay.AddDays(1);
   else
      workDay = workDay.AddDays(8 - (int)workDay.DayOfWeek);
}
Console.WriteLine("Beginning of Work Week In {0:MMMM} {0:yyyy}:", workDay);
// Add one week to the current date
do
{
   Console.WriteLine("   {0:dddd}, {0:MMMM}{0: d}", workDay);
   workDay = workDay.AddDays(7);
} while (workDay.Month == month);
// The example produces the following output:
//    Beginning of Work Week In March 2008:
//       Monday, March 3
//       Monday, March 10
//       Monday, March 17
//       Monday, March 24
//       Monday, March 31
let workDay = DateTimeOffset(2008, 3, 1, 9, 0, 0, DateTimeOffset.Now.Offset)
let month = workDay.Month

// Start with the first Monday of the month
let mutable workDay = 
    match workDay.DayOfWeek with
    | DayOfWeek.Monday ->
        workDay
    | DayOfWeek.Sunday ->
        workDay.AddDays 1
    | _ ->
        workDay.AddDays(8. - float workDay.DayOfWeek)

printfn $"Beginning of Work Week In {workDay:MMMM} {workDay:yyyy}:"

// Add one week to the current date
while workDay.Month = month do
    printfn $"   {workDay:dddd}, {workDay:MMMM}{workDay: d}"
    workDay <- workDay.AddDays 7

// The example produces the following output:
//    Beginning of Work Week In March 2008:
//       Monday, March 3
//       Monday, March 10
//       Monday, March 17
//       Monday, March 24
//       Monday, March 31
Dim workDay As New DateTimeOffset(#3/1/2008 9:00AM#, _
                   DateTimeOffset.Now.Offset)
Dim month As Integer = workDay.Month
' Start with the first Monday of the month
If workDay.DayOfWeek <> DayOfWeek.Monday Then
   If workDay.DayOfWeek = DayOfWeek.Sunday Then
      workDay = workDay.AddDays(1)
   Else   
      workDay = workDay.AddDays(8 - CInt(workDay.DayOfWeek))
   End If
End If
Console.WriteLine("Beginning of Work Week In {0:MMMM} {0:yyyy}:", workDay)
' Add one week to the current date 
Do While workDay.Month = month
   Console.WriteLine("   {0:dddd}, {0:MMMM}{0: d}", workDay)
   workDay = workDay.AddDays(7)
Loop        
' The example produces the following output:
'    Beginning of Work Week In March 2008:
'       Monday, March 3
'       Monday, March 10
'       Monday, March 17
'       Monday, March 24
'       Monday, March 31

Remarques

La partie fractionnaire du days paramètre est la partie fractionnaire d’un jour. Par exemple, 4,5 équivaut à 4 jours, 12 heures, 0 minutes, 0 seconde, 0 milliseconde.

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

Notes

Cette méthode retourne un nouvel DateTimeOffset objet. Il ne modifie pas la valeur de l’objet actuel en ajoutant days à sa date et à son heure.

Étant donné qu’un DateTimeOffset objet ne représente pas la date et l’heure dans un fuseau horaire spécifique, la AddDays méthode ne prend pas en compte les règles d’ajustement d’un fuseau horaire particulier lorsqu’elle effectue des opérations arithmétiques de date et d’heure.

La conversion d’intervalles de temps inférieurs à un jour en fraction peut entraîner une perte de précision. Si cela pose problème, vous pouvez utiliser la Add méthode , qui vous permet de spécifier plusieurs types d’intervalle 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 journée.

S’applique à