DateTimeOffset.Subtraction Operator (DateTimeOffset, DateTimeOffset)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Subtracts one DateTimeOffset object from another and yields a time interval.

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

Syntax

'Declaration
Public Shared Operator - ( _
    left As DateTimeOffset, _
    right As DateTimeOffset _
) As TimeSpan
public static TimeSpan operator -(
    DateTimeOffset left,
    DateTimeOffset right
)

Parameters

Return Value

Type: System.TimeSpan
An object that represents the difference between left and right.

Remarks

The Subtraction method defines the subtraction operation for DateTimeOffset objects. It enables code such as the following:

Dim firstDate As New DateTimeOffset(#3/25/2008 6:00:00 PM#, _
                                    New TimeSpan(-7, 0, 0))
Dim secondDate As New DateTimeOffset(#3/25/2008 6:00:00 PM#, _
                                     New TimeSpan(-5, 0, 0))
Dim thirdDate As New DateTimeOffset(#2/28/2008 9:00:00 AM#, _
                                    New TimeSpan(-7, 0, 0))
Dim difference As TimeSpan

difference = firstDate - secondDate
outputBlock.Text += String.Format("({0}) - ({1}) & vbCrLf: {2} days, {3}:{4:d2}", _
                  firstDate.ToString(), _
                  secondDate.ToString(), _
                  difference.Days, _
                  difference.Hours, _
                  difference.Minutes)
difference = firstDate - thirdDate
outputBlock.Text += String.Format("({0}) - ({1}) & vbCrLf: {2} days, {3}:{4:d2}", _
                  firstDate.ToString(), _
                  secondDate.ToString(), _
                  difference.Days, _
                  difference.Hours, _
                  difference.Minutes)
' The example produces the following output:
'    (3/25/2008 6:00:00 PM -07:00) - (3/25/2008 6:00:00 PM -05:00): 0 days, 2:00
'    (3/25/2008 6:00:00 PM -07:00) - (3/25/2008 6:00:00 PM -05:00): 26 days, 9:00                                 
DateTimeOffset firstDate = new DateTimeOffset(2008, 3, 25, 18, 0, 0,
                                              new TimeSpan(-7, 0, 0));
DateTimeOffset secondDate = new DateTimeOffset(2008, 3, 25, 18, 0, 0,
                                               new TimeSpan(-5, 0, 0));
DateTimeOffset thirdDate = new DateTimeOffset(2008, 2, 28, 9, 0, 0,
                                              new TimeSpan(-7, 0, 0));
TimeSpan difference;

difference = firstDate - secondDate;
outputBlock.Text += String.Format("({0}) - ({1}): {2} days, {3}:{4:d2}",
                  firstDate.ToString(),
                  secondDate.ToString(),
                  difference.Days,
                  difference.Hours,
                  difference.Minutes) + "\n";

difference = firstDate - thirdDate;
outputBlock.Text += String.Format("({0}) - ({1}): {2} days, {3}:{4:d2}",
                  firstDate.ToString(),
                  secondDate.ToString(),
                  difference.Days,
                  difference.Hours,
                  difference.Minutes) + "\n";
// The example produces the following output:
//    (3/25/2008 6:00:00 PM -07:00) - (3/25/2008 6:00:00 PM -05:00): 0 days, 2:00
//    (3/25/2008 6:00:00 PM -07:00) - (3/25/2008 6:00:00 PM -05:00): 26 days, 9:00                                 

Languages that do not support custom operators and operator overloading can call the DateTimeOffset.Subtract(DateTimeOffset) method instead.

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.