DateTime::Subtraction Operator (DateTime, DateTime)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.


Subtracts a specified date and time from another specified date and time and returns a time interval.

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

static TimeSpan operator -(
	DateTime d1,
	DateTime d2


Type: System::DateTime

The date and time value to subtract from (the minuend).

Type: System::DateTime

The date and time value to subtract (the subtrahend).

Return Value

Type: System::TimeSpan

The time interval between d1 and d2; that is, d1 minus d2.

The Subtraction(DateTime, DateTime) method does not consider the value of the Kind property of the two DateTime values when performing the subtraction. Before subtracting DateTime objects, ensure that the objects represent times in the same time zone. Otherwise, the result will include the difference between time zones.


The DateTimeOffset::Subtraction(DateTimeOffset, DateTimeOffset) method does consider the difference between time zones when performing the subtraction.

The following example demonstrates the Subtract method and the subtraction operator.

System::DateTime date1 = System::DateTime( 1996, 6, 3, 22, 15, 0 );
System::DateTime date2 = System::DateTime( 1996, 12, 6, 13, 2, 0 );
System::DateTime date3 = System::DateTime( 1996, 10, 12, 8, 42, 0 );

// diff1 gets 185 days, 14 hours, and 47 minutes.
System::TimeSpan diff1 = date2.Subtract( date1 );

// date4 gets 4/9/1996 5:55:00 PM.
System::DateTime date4 = date3.Subtract( diff1 );

// diff2 gets 55 days 4 hours and 20 minutes.
System::TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System::DateTime date5 = date1 - diff2;

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top