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