Freigeben über


DateTimeOffset.AddDays(Double) Methode

Definition

Gibt ein neues DateTimeOffset Objekt zurück, das dem Wert dieser Instanz eine angegebene Anzahl von ganzen und Bruchtagen hinzufügt.

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 Anzahl von ganzen und Bruchtagen. Die Zahl kann negativ oder positiv sein.

Gibt zurück

Ein Objekt, dessen Wert die Summe des Datums und der Uhrzeit darstellt, dargestellt durch das aktuelle DateTimeOffset Objekt und die Anzahl von Tagen, die durch daysdargestellt werden.

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 zu listen, die am Montag, dem 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 Bruchteil des days Parameters ist der Bruchteil eines Tages. Beispielsweise entspricht 4,5 4 Tagen, 12 Stunden, 0 Minuten, 0 Sekunden, 0 Millisekunden.

In .NET Framework wird der days Parameter auf die nächste Millisekunden gerundet. In .NET 7 und höheren Versionen wird die volle Double Genauigkeit des days Parameters verwendet. Aufgrund der inhärenten Ungenauigkeit von Gleitkommagleichungen variiert die resultierende Genauigkeit jedoch.

Hinweis

Diese Methode gibt ein neues DateTimeOffset Objekt zurück. Der Wert des aktuellen Objekts wird durch Hinzufügen days zu Datum und Uhrzeit nicht geändert.

Da ein DateTimeOffset Objekt das Datum und die Uhrzeit in einer bestimmten Zeitzone nicht darstellt, berücksichtigt die AddDays Methode bei der Ausführung von Datums- und Uhrzeitarithmetik keine Anpassungsregeln einer bestimmten Zeitzone.

Das Konvertieren von Zeitintervallen von weniger als einem Tag in einen Bruch kann zu einem Genauigkeitsverlust führen. Wenn dies problematisch ist, können Sie die Methode verwenden, mit der Add 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: