# DateTimeOffset.AddDays(Double) Method

## Definition

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`

#### Parameters

- days
- Double

A number of whole and fractional days. The number can be negative or positive.

#### Returns

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`

.

#### Exceptions

The resulting DateTimeOffset value is less than MinValue.

-or-

The resulting DateTimeOffset value is greater than MaxValue.

## Examples

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
```

## Remarks

The fractional part of the `days`

parameter is the fractional part of a day. For example, 4.5 is equivalent to 4 days, 12 hours, 0 minutes, 0 seconds, 0 milliseconds. The `days`

parameter is rounded to the nearest millisecond.

Note

This method returns a new DateTimeOffset object. It does not modify the value of the current object by adding `days`

to its date and time.

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.

Converting time intervals of less than a day to a fraction can involve a loss of precision. 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.