DateTimeOffset.Add(TimeSpan) Method

Definition

Returns a new DateTimeOffset object that adds a specified time interval to the value of this instance.

public:
 DateTimeOffset Add(TimeSpan timeSpan);
public DateTimeOffset Add (TimeSpan timeSpan);
member this.Add : TimeSpan -> DateTimeOffset
Public Function Add (timeSpan As TimeSpan) As DateTimeOffset

Parameters

timeSpan
TimeSpan

A TimeSpan object that represents a positive or a negative time interval.

Returns

An object whose value is the sum of the date and time represented by the current DateTimeOffset object and the time interval represented by timeSpan.

Exceptions

The resulting DateTimeOffset value is less than DateTimeOffset.MinValue.

-or-

The resulting DateTimeOffset value is greater than DateTimeOffset.MaxValue.

Examples

The following example creates an array of TimeSpan objects that represent the flight times between destinations. The Add method then adds these times to a DateTimeOffset object that represents a flight's initial takeoff time. The result reflects the scheduled arrival time at each destination.

DateTimeOffset takeOff = new DateTimeOffset(2007, 6, 1, 7, 55, 0,
                             new TimeSpan(-5, 0, 0));
DateTimeOffset currentTime = takeOff;
TimeSpan[] flightTimes = new TimeSpan[]
                  {new TimeSpan(2, 25, 0), new TimeSpan(1, 48, 0)};
Console.WriteLine("Takeoff is scheduled for {0:d} at {0:T}.",
                  takeOff);
for (int ctr = flightTimes.GetLowerBound(0);
     ctr <= flightTimes.GetUpperBound(0); ctr++)
{
   currentTime = currentTime.Add(flightTimes[ctr]);
   Console.WriteLine("Destination #{0} at {1}.", ctr + 1, currentTime);
}
let takeOff = DateTimeOffset(2007, 6, 1, 7, 55, 0, TimeSpan(-5, 0, 0))
let mutable currentTime = takeOff
let flightTimes = [| TimeSpan(2, 25, 0); TimeSpan(1, 48, 0) |]
printfn $"Takeoff is scheduled for {takeOff:d} at {takeOff:T}."
                
for i = 0 to flightTimes.Length - 1 do
    currentTime <- currentTime.Add flightTimes[i]
    printfn $"Destination #{i + 1} at {currentTime}."
Dim takeOff As New DateTimeOffset(#6/1/2007 7:55AM#, _
                                  New TimeSpan(-5, 0, 0))
Dim currentTime As DateTimeOffset = takeOff
Dim flightTimes() As TimeSpan = New TimeSpan() _
                  {New TimeSpan(2, 25, 0), New TimeSpan(1, 48, 0)}
Console.WriteLine("Takeoff is scheduled for {0:d} at {0:T}.", _
                  takeOff)
For ctr As Integer = flightTimes.GetLowerBound(0) To _
                     flightTimes.GetUpperBound(0)
   currentTime = currentTime.Add(flightTimes(ctr))
   Console.WriteLine("Destination #{0} at {1}.", ctr + 1, currentTime)
Next

Remarks

You can use the Add method to add more than one kind of time interval (days, hours, minutes, seconds, or milliseconds) in a single operation. This method's behavior is identical to the addition operator. The DateTimeOffset structure also supports specialized addition methods (such as AddDays, AddHours, and AddMinutes) for each time interval.

Note

This method returns a new DateTimeOffset object. It does not modify the value of the current object by adding timeSpan to its date and time.

The Add method does not affect the value of the current DateTimeOffset object's Offset property.

Because a DateTimeOffset object does not represent the date and time in a specific time zone, the Add method does not consider a particular time zone's adjustment rules when it performs date and time arithmetic.

If the timeSpan parameter is null, this method returns the value of the original DateTimeOffset object unchanged.

Applies to

See also