DateTimeOffset.AddDays(Double) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.