DateTimeOffset.Subtraction Operator

Definition

Subtracts a specified DateTimeOffset or TimeSpan object from a DateTimeOffset object.

Overloads

Subtraction(DateTimeOffset, DateTimeOffset)

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

Subtraction(DateTimeOffset, TimeSpan)

Subtracts a specified time interval from a specified date and time, and yields a new date and time.

Subtraction(DateTimeOffset, DateTimeOffset)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

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

public:
 static TimeSpan operator -(DateTimeOffset left, DateTimeOffset right);
public static TimeSpan operator - (DateTimeOffset left, DateTimeOffset right);
static member ( - ) : DateTimeOffset * DateTimeOffset -> TimeSpan
Public Shared Operator - (left As DateTimeOffset, right As DateTimeOffset) As TimeSpan

Parameters

left
DateTimeOffset

The minuend.

right
DateTimeOffset

The subtrahend.

Returns

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:

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;
Console.WriteLine("({0}) - ({1}): {2} days, {3}:{4:d2}",
                  firstDate.ToString(),
                  secondDate.ToString(),
                  difference.Days,
                  difference.Hours,
                  difference.Minutes);

difference = firstDate - thirdDate;
Console.WriteLine("({0}) - ({1}): {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
let firstDate =
    DateTimeOffset(2008, 3, 25, 18, 0, 0, TimeSpan(-7, 0, 0))

let secondDate =
    DateTimeOffset(2008, 3, 25, 18, 0, 0, TimeSpan(-5, 0, 0))

let thirdDate =
    DateTimeOffset(2008, 2, 28, 9, 0, 0, TimeSpan(-7, 0, 0))

let difference = firstDate - secondDate
printfn $"({firstDate}) - ({secondDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}"

let difference = firstDate - thirdDate
printfn $"({firstDate}) - ({secondDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}"
// 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
Dim firstDate As New DateTimeOffset(#3/25/2008 6:00PM#, _
                                    New TimeSpan(-7, 0, 0))
Dim secondDate As New DateTimeOffset(#3/25/2008 6:00PM#, _
                                     New TimeSpan(-5, 0, 0))
Dim thirdDate As New DateTimeOffset(#2/28/2008 9:00AM#, _
                                    New TimeSpan(-7, 0, 0))
Dim difference As TimeSpan

difference = firstDate - secondDate
Console.WriteLine("({0}) - ({1}): {2} days, {3}:{4:d2}", _
                  firstDate.ToString(), _
                  secondDate.ToString(), _
                  difference.Days, _
                  difference.Hours, _
                  difference.Minutes)      
difference = firstDate - thirdDate
Console.WriteLine("({0}) - ({1}): {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

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

The equivalent method for this operator is DateTimeOffset.Subtract(TimeSpan).

See also

Applies to

Subtraction(DateTimeOffset, TimeSpan)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Subtracts a specified time interval from a specified date and time, and yields a new date and time.

public:
 static DateTimeOffset operator -(DateTimeOffset dateTimeOffset, TimeSpan timeSpan);
public:
 static DateTimeOffset operator -(DateTimeOffset dateTimeTz, TimeSpan timeSpan);
public static DateTimeOffset operator - (DateTimeOffset dateTimeOffset, TimeSpan timeSpan);
public static DateTimeOffset operator - (DateTimeOffset dateTimeTz, TimeSpan timeSpan);
static member ( - ) : DateTimeOffset * TimeSpan -> DateTimeOffset
static member ( - ) : DateTimeOffset * TimeSpan -> DateTimeOffset
Public Shared Operator - (dateTimeOffset As DateTimeOffset, timeSpan As TimeSpan) As DateTimeOffset
Public Shared Operator - (dateTimeTz As DateTimeOffset, timeSpan As TimeSpan) As DateTimeOffset

Parameters

dateTimeOffsetdateTimeTz
DateTimeOffset

The date and time object to subtract from.

timeSpan
TimeSpan

The time interval to subtract.

Returns

An object that is equal to the value of dateTimeOffset minus timeSpan.

Exceptions

Remarks

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

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 - duration);  // Displays 11/25/2007 5:30:00 PM -08:00
let offsetDate =
    DateTimeOffset(2007, 12, 3, 11, 30, 0, TimeSpan(-8, 0, 0))

let duration = TimeSpan(7, 18, 0, 0)
printfn $"{offsetDate - duration}" // Displays 11/25/2007 5:30:00 PM -08:00
Dim offsetDate As New DateTimeOffset(#12/3/2007 11:30AM#, _
                               New TimeSpan(-8, 0, 0)) 
Dim duration As New TimeSpan(7, 18, 0, 0)
Console.WriteLine(offsetDate - duration)    ' Displays 11/25/2007 5:30:00 PM -08:00

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

The equivalent method for this operator is DateTimeOffset.Subtract(TimeSpan).

See also

Applies to