This documentation is archived and is not being maintained.

DateTime::Subtraction Operator

Updated: May 2010

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

A DateTime (the minuend).

Type: System::DateTime

A DateTime (the subtrahend).

Return Value

Type: System::TimeSpan
A TimeSpan that is 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;

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

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, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0




May 2010

Expanded the Remarks section.

Content bug fix.