DateTimeOffset.AddDays(Double) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne un nouvel DateTimeOffset objet qui ajoute un nombre spécifié de jours entiers et fractionnaires à 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 fractionnaires. Le nombre peut être négatif ou positif.
Retours
Objet dont la valeur est la somme de la date et de l’heure représentées par l’objet actuel DateTimeOffset et le nombre de jours représentés 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 secondes, 0 millisecondes.
Dans .NET Framework, le days paramètre est arrondi à la milliseconde la plus proche. Dans .NET 7 et versions ultérieures, la précision complète Double du days paramètre est utilisée. Toutefois, en raison de l’imprécision inhérente des mathématiques à virgule flottante, la précision résultante varie.
Note
Cette méthode retourne un nouvel DateTimeOffset objet. Elle 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 considère pas les règles d’ajustement d’un fuseau horaire particulier lorsqu’elle effectue des arithmétiques de date et d’heure.
La conversion d’intervalles de temps de moins d’un jour en fraction peut impliquer 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’intervalles de temps dans un appel de méthode unique et élimine la nécessité de convertir des intervalles de temps en parties fractionnaires d’un jour.