This documentation is archived and is not being maintained.

DateTimeOffset.Subtract Method (DateTimeOffset)

Subtracts a DateTimeOffset value that represents a specific date and time from the current DateTimeOffset object.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public TimeSpan Subtract(
	DateTimeOffset value


Type: System.DateTimeOffset

A DateTimeOffset object.

Return Value

Type: System.TimeSpan
A TimeSpan object that specifies the interval between the two DateTimeOffset objects.

This method converts both DateTimeOffset objects to Coordinated Universal Time (UTC) before calculating the time interval that separates them. This removes any effect that different offsets from UTC may have on the comparison.


For languages that support custom operators, you can also perform date and time subtraction by using the subtraction operator. For details, see the Subtraction method.

Because neither the current DateTimeOffset object nor the value parameter represent the date and time in a specific time zone, the Subtract(DateTimeOffset) method does not consider a particular time zone's adjustment rules when it subtracts dates and times.

The following example illustrates subtraction that uses the Subtract(DateTimeOffset) method.

DateTimeOffset offsetDate = new DateTimeOffset(2007, 12, 3, 11, 30, 0, 
                               new TimeSpan(-8, 0, 0)); 
TimeSpan duration = new TimeSpan(7, 18, 0, 0);
Console.WriteLine(offsetDate.Subtract(duration).ToString());  // Displays 11/25/2007 5:30:00 PM -08:00

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5 SP1, 3.0 SP1, 2.0 SP1