TimeSpan.UnaryNegation Operator

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Returns a TimeSpan whose value is the negated value of the specified instance.

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

Syntax

Public Shared Operator - ( _
    t As TimeSpan _
) As TimeSpan
public static TimeSpan operator -(
    TimeSpan t
)

Parameters

Return Value

Type: System..::.TimeSpan
An object that has the same numeric value as this instance, but the opposite sign.

Exceptions

Exception Condition
OverflowException

The negated value of this instance cannot be represented by a TimeSpan; that is, the value of this instance is MinValue.

Examples

The following code example applies the Unary Negation operator to several TimeSpan objects.

' Example of the TimeSpan.Duration( ) and TimeSpan.Negate( ) methods,
' and the TimeSpan Unary Negation and Unary Plus operators.

Module Example

   Const dataFmt As String = "{0,22}{1,22}{2,22}"

   Sub ShowDurationNegate(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal interval As TimeSpan)

      ' Display the TimeSpan value and the results of the 
      ' Duration and Negate methods.
      outputBlock.Text &= String.Format(dataFmt, _
          interval, interval.Duration(), interval.Negate()) & vbCrLf
   End Sub

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      outputBlock.Text &= String.Format( _
          "This example of TimeSpan.Duration( ), " & _
          "TimeSpan.Negate( ), " & vbCrLf & _
          "and the TimeSpan Unary Negation and " & _
          "Unary Plus operators " & vbCrLf & _
          "generates the following output." & vbCrLf) & vbCrLf
      outputBlock.Text &= String.Format(dataFmt, _
          "TimeSpan", "Duration( )", "Negate( )") & vbCrLf
      outputBlock.Text &= String.Format(dataFmt, _
          "--------", "-----------", "---------") & vbCrLf

      ' Create TimeSpan objects and apply the Unary Negation
      ' and Unary Plus operators to them.
      ShowDurationNegate(outputBlock, New TimeSpan(1))
      ShowDurationNegate(outputBlock, New TimeSpan(-1234567))
      ShowDurationNegate(outputBlock, TimeSpan.op_UnaryNegation( _
          New TimeSpan(1, 10, 20, 40, 160)))
      ShowDurationNegate(outputBlock, TimeSpan.op_UnaryNegation( _
          New TimeSpan(-10, -20, -30, -40, -50)))
   End Sub
End Module

' This example of TimeSpan.Duration( ), TimeSpan.Negate( ),
' and the TimeSpan Unary Negation and Unary Plus operators
' generates the following output.
' 
'               TimeSpan           Duration( )             Negate( )
'               --------           -----------             ---------
'       00:00:00.0000001      00:00:00.0000001     -00:00:00.0000001
'      -00:00:00.1234567      00:00:00.1234567      00:00:00.1234567
'       00:09:39.9700000      00:09:39.9700000     -00:09:39.9700000
'      -09:40:29.9600000      09:40:29.9600000      09:40:29.9600000
'    -1.10:20:40.1600000    1.10:20:40.1600000    1.10:20:40.1600000
'    10.20:30:40.0500000   10.20:30:40.0500000  -10.20:30:40.0500000
// Example of the TimeSpan.Duration( ) and TimeSpan.Negate( ) methods,
// and the TimeSpan Unary Negation and Unary Plus operators.
using System;

class Example
{
   const string dataFmt = "{0,22}{1,22}{2,22}";

   static void ShowDurationNegate(System.Windows.Controls.TextBlock outputBlock, TimeSpan interval)
   {
      // Display the TimeSpan value and the results of the 
      // Duration and Negate methods.
      outputBlock.Text += String.Format(dataFmt,
          interval, interval.Duration(), interval.Negate()) + "\n";
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text += String.Format(
          "This example of TimeSpan.Duration( ), " +
          "TimeSpan.Negate( ), \nand the TimeSpan Unary " +
          "Negation and Unary Plus operators \n" +
          "generates the following output.\n") + "\n";
      outputBlock.Text += String.Format(dataFmt,
          "TimeSpan", "Duration( )", "Negate( )") + "\n";
      outputBlock.Text += String.Format(dataFmt,
          "--------", "-----------", "---------") + "\n";

      // Create TimeSpan objects and apply the Unary Negation
      // and Unary Plus operators to them.
      ShowDurationNegate(outputBlock, new TimeSpan(1));
      ShowDurationNegate(outputBlock, new TimeSpan(-1234567));
      ShowDurationNegate(outputBlock, 
          new TimeSpan(0, 0, 10, -20, -30));
      ShowDurationNegate(outputBlock, 
          new TimeSpan(0, -10, 20, -30, 40));
      ShowDurationNegate(outputBlock, 
          new TimeSpan(1, 10, 20, 40, 160));
      ShowDurationNegate(outputBlock, 
          new TimeSpan(-10, -20, -30, -40, -50));
   }
}

/*
This example of TimeSpan.Duration( ), TimeSpan.Negate( ),
and the TimeSpan Unary Negation and Unary Plus operators
generates the following output.

              TimeSpan           Duration( )             Negate( )
              --------           -----------             ---------
      00:00:00.0000001      00:00:00.0000001     -00:00:00.0000001
     -00:00:00.1234567      00:00:00.1234567      00:00:00.1234567
      00:09:39.9700000      00:09:39.9700000     -00:09:39.9700000
     -09:40:29.9600000      09:40:29.9600000      09:40:29.9600000
   -1.10:20:40.1600000    1.10:20:40.1600000    1.10:20:40.1600000
   10.20:30:40.0500000   10.20:30:40.0500000  -10.20:30:40.0500000
*/

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

See Also

Reference

TimeSpan Structure

System Namespace