DateTime.Subtraction Operator

Definition

Subtracts a specified DateTime orTimeSpan from a specified DateTime.

Overloads

Subtraction(DateTime, DateTime)

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

Subtraction(DateTime, TimeSpan)

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

Subtraction(DateTime, DateTime)

Source:
DateTime.cs
Source:
DateTime.cs
Source:
DateTime.cs

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

C#
public static TimeSpan operator -(DateTime d1, DateTime d2);

Parameters

d1
DateTime

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

d2
DateTime

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

Returns

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

Examples

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

C#
System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
System.DateTime date3 = new 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;

Remarks

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.

Note

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

The equivalent method for this operator is DateTime.Subtract(DateTime)

See also

Applies to

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Subtraction(DateTime, TimeSpan)

Source:
DateTime.cs
Source:
DateTime.cs
Source:
DateTime.cs

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

C#
public static DateTime operator -(DateTime d, TimeSpan t);

Parameters

d
DateTime

The date and time value to subtract from.

t
TimeSpan

The time interval to subtract.

Returns

An object whose value is the value of d minus the value of t.

Exceptions

The resulting DateTime is less than DateTime.MinValue or greater than DateTime.MaxValue.

Examples

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

C#
System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
System.DateTime date3 = new 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;

Remarks

This method subtracts the ticks value of t from the ticks value of d.

The equivalent method for this operator is DateTime.Subtract(DateTime)

See also

Applies to

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0