DateTimeOffset.AddDays(Double) Metodo

Definizione

Restituisce un nuovo oggetto DateTimeOffset che aggiunge un numero specificato di giorni interi e frazionari al valore dell'istanza.Returns a new DateTimeOffset object that adds a specified number of whole and fractional days to the value of this instance.

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

Parametri

days
Double

Numero di giorni interi e frazionari.A number of whole and fractional days. Il numero può essere positivo o negativo.The number can be negative or positive.

Restituisce

Oggetto il cui valore è la somma della data e dell'ora rappresentate dall'oggetto DateTimeOffset corrente e del numero di giorni rappresentato da days.An object whose value is the sum of the date and time represented by the current DateTimeOffset object and the number of days represented by days.

Eccezioni

Il valore DateTimeOffset risultante è minore di MinValue.The resulting DateTimeOffset value is less than MinValue.

In alternativa-or- Il valore DateTimeOffset risultante è maggiore di MaxValue.The resulting DateTimeOffset value is greater than MaxValue.

Esempi

Nell'esempio seguente viene usato AddDays il metodo per elencare le date che risalgono il lunedì, l'inizio della settimana lavorativa, nel 2008 marzo.The following example uses the AddDays method to list the dates that fall on Monday, the start of the work week, in March 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             
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             

Commenti

La parte frazionaria del days parametro è la parte frazionaria di un giorno.The fractional part of the days parameter is the fractional part of a day. 4,5, ad esempio, equivale a 4 giorni, 12 ore, 0 minuti, 0 secondi, 0 millisecondi.For example, 4.5 is equivalent to 4 days, 12 hours, 0 minutes, 0 seconds, 0 milliseconds. Il days parametro viene arrotondato al millisecondo più vicino.The days parameter is rounded to the nearest millisecond.

Nota

Questo metodo restituisce un nuovo DateTimeOffset oggetto.This method returns a new DateTimeOffset object. Non modifica il valore dell'oggetto corrente aggiungendola days alla data e all'ora.It does not modify the value of the current object by adding days to its date and time.

Poiché un DateTimeOffset oggetto non rappresenta la data e l'ora in un fuso orario specifico, il AddDays metodo non prende in considerazione le regole di rettifica di un determinato fuso orario quando esegue operazioni aritmetiche di data e ora.Because a DateTimeOffset object does not represent the date and time in a specific time zone, the AddDays method does not consider a particular time zone's adjustment rules when it performs date and time arithmetic.

La conversione di intervalli di tempo inferiori a un giorno a una frazione può comportare una perdita di precisione.Converting time intervals of less than a day to a fraction can involve a loss of precision. Se ciò è problematico, è possibile usare Add il metodo, che consente di specificare più di un tipo di intervallo di tempo in una singola chiamata al metodo ed elimina la necessità di convertire gli intervalli di tempo in parti frazionarie di un giorno.If this is problematic, you can use the Add method, which enables you to specify more than one kind of time interval in a single method call and eliminates the need to convert time intervals to fractional parts of a day.

Si applica a