DateTimeOffset.AddDays Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Adds a specified number of whole and fractional days to the current DateTimeOffset object.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Function AddDays ( _
days As Double _
) As DateTimeOffset
public DateTimeOffset AddDays(
double days
)
Parameters
- days
Type: System.Double
A number of whole and fractional days. The number can be negative or positive.
Return Value
Type: System.DateTimeOffset
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
Exception | Condition |
---|---|
ArgumentOutOfRangeException | The resulting DateTimeOffset value is less than MinValue. -or- The resulting DateTimeOffset value is greater than MaxValue. |
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.
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.
Dim workDay As New DateTimeOffset(#3/1/2008 9:00:00 AM#, _
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
outputBlock.Text += String.Format("Beginning of Work Week In {0:MMMM} {0:yyyy}:", workDay) & vbCrLf
' Add one week to the current date
Do While workDay.Month = month
outputBlock.Text += String.Format(" {0:dddd}, {0:MMMM}{0: d}", workDay) & vbCrLf
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
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);
}
outputBlock.Text += String.Format("Beginning of Work Week In {0:MMMM} {0:yyyy}:", workDay) + "\n";
// Add one week to the current date
do
{
outputBlock.Text += String.Format(" {0:dddd}, {0:MMMM}{0: d}", workDay) + "\n";
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
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.