Partager via


TimeSpan.Duration Method

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

Returns a new TimeSpan object whose value is the absolute value of the current TimeSpan object.

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

Syntax

'Declaration
Public Function Duration As TimeSpan
public TimeSpan Duration()

Return Value

Type: System.TimeSpan
A new object whose value is the absolute value of the current TimeSpan object.

Exceptions

Exception Condition
OverflowException

The value of this instance is MinValue.

Examples

The following code example applies the Duration method 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

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.