Freigeben über


DateTimeOffset.AddDays(Double) Methode

Definition

Gibt ein neues DateTimeOffset-Objekt zurück, das eine angegebene Anzahl von ganzen Tagen und Bruchteilen von Tagen zum Wert dieser Instanz addiert.

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

Parameter

days
Double

Eine Zahl, die aus ganzen Tagen und dem Bruchteil eines Tages besteht. Die Zahl kann negativ oder positiv sein.

Gibt zurück

Ein Objekt, dessen Wert die Summe aus der vom aktuellen DateTimeOffset-Objekt dargestellten Datums- und Uhrzeitangabe und der von days dargestellten Anzahl von Tagen ist.

Ausnahmen

Der resultierende DateTimeOffset Wert ist kleiner als DateTimeOffset.MinValue.

Oder

Der resultierende DateTimeOffset Wert ist größer als DateTimeOffset.MaxValue.

Beispiele

Im folgenden Beispiel wird die AddDays -Methode verwendet, um die Datumsangaben aufzulisten, die auf den Montag, den Beginn der Arbeitswoche, im März 2008 fallen.

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

Hinweise

Der Fraktionsteil des days Parameters ist der Bruch eines Tages. Beispielsweise entspricht 4,5 4 Tagen, 12 Stunden, 0 Minuten, 0 Sekunden, 0 Millisekunden.

In .NET 6 und früheren Versionen wird der days Parameter auf die nächste Millisekunde gerundet. In .NET 7 und höheren Versionen wird die volle Double Genauigkeit des days Parameters verwendet. Aufgrund der inhärenten Ungenauigkeit der Gleitkomma-Mathematik variiert die resultierende Genauigkeit jedoch.

Hinweis

Diese Methode gibt ein neues DateTimeOffset Objekt zurück. Der Wert des aktuellen Objekts wird nicht geändert, indem datum und uhrzeit hinzugefügt days werden.

Da ein DateTimeOffset Objekt das Datum und die Uhrzeit in einer bestimmten Zeitzone nicht darstellt, berücksichtigt die AddDays Methode die Anpassungsregeln einer bestimmten Zeitzone nicht, wenn sie Datums- und Uhrzeitarithmetik ausführt.

Das Konvertieren von Zeitintervallen von weniger als einem Tag in einen Bruch kann einen Genauigkeitsverlust mit sich bringen. Wenn dies problematisch ist, können Sie die Add -Methode verwenden, mit der Sie mehr als eine Art von Zeitintervall in einem einzelnen Methodenaufruf angeben können, und die Notwendigkeit, Zeitintervalle in Bruchteile eines Tages zu konvertieren.

Gilt für: