DateTimeOffset.AddDays(Double) Metod

Definition

Returnerar ett nytt DateTimeOffset objekt som lägger till ett angivet antal hela dagar och bråkdagar till värdet för den här instansen.

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

Parametrar

days
Double

Ett antal hela och bråkdagar. Talet kan vara negativt eller positivt.

Returer

Ett objekt vars värde är summan av datum och tid som representeras av det aktuella DateTimeOffset objektet och antalet dagar som representeras av days.

Undantag

Det resulterande DateTimeOffset värdet är mindre än DateTimeOffset.MinValue.

-eller-

Det resulterande DateTimeOffset värdet är större än DateTimeOffset.MaxValue.

Exempel

I följande exempel används AddDays metoden för att lista datum som infaller på måndag, början av arbetsveckan, i 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

Kommentarer

Deldelen av parametern days är bråkdelen av en dag. Till exempel motsvarar 4,5 4 dagar, 12 timmar, 0 minuter, 0 sekunder, 0 millisekunder.

I .NET Framework avrundas parametern days till närmaste millisekunder. I .NET 7 och senare versioner används den fullständiga Double precisionen för parametern days. Men på grund av den inneboende oskärningen av flyttalsmatematik varierar den resulterande precisionen.

Note

Den här metoden returnerar ett nytt DateTimeOffset objekt. Det ändrar inte värdet för det aktuella objektet genom att lägga days till dess datum och tid.

Eftersom ett DateTimeOffset objekt inte representerar datum och tid i en specifik tidszon tar AddDays metoden inte hänsyn till en viss tidszons justeringsregler när den utför datum- och tidsaritmetik.

Att konvertera tidsintervall på mindre än en dag till en bråkdel kan innebära en förlust av precision. Om detta är problematiskt kan du använda Add metoden, som gör att du kan ange mer än en typ av tidsintervall i ett enda metodanrop och eliminerar behovet av att konvertera tidsintervall till bråkdelar av en dag.

Gäller för