TimeSpan Estrutura

Definição

Representa um intervalo de tempo.Represents a time interval.

public value class TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable
type TimeSpan = struct
    interface IFormattable
Public Structure TimeSpan
Implements IComparable, IComparable(Of TimeSpan), IEquatable(Of TimeSpan), IFormattable
Herança
TimeSpan
Atributos
Implementações

Exemplos

O exemplo a seguir instancia um objeto TimeSpan que representa a diferença entre duas datas.The following example instantiates a TimeSpan object that represents the difference between two dates. Em seguida, ele exibe as propriedades do objeto TimeSpan.It then displays the TimeSpan object's properties.

// Define two dates.
DateTime date1 = new DateTime(2010, 1, 1, 8, 0, 15);
DateTime date2 = new DateTime(2010, 8, 18, 13, 30, 30);

// Calculate the interval between the two dates.
TimeSpan interval = date2 - date1;
Console.WriteLine("{0} - {1} = {2}", date2, date1, interval.ToString());

// Display individual properties of the resulting TimeSpan object.
Console.WriteLine("   {0,-35} {1,20}", "Value of Days Component:", interval.Days);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays);
Console.WriteLine("   {0,-35} {1,20}", "Value of Hours Component:", interval.Hours);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours);
Console.WriteLine("   {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes);
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Ticks:", interval.Ticks);

// This example displays the following output:
//       8/18/2010 1:30:30 PM - 1/1/2010 8:00:15 AM = 229.05:30:15
//          Value of Days Component:                             229
//          Total Number of Days:                   229.229340277778
//          Value of Hours Component:                              5
//          Total Number of Hours:                  5501.50416666667
//          Value of Minutes Component:                           30
//          Total Number of Minutes:                       330090.25
//          Value of Seconds Component:                           15
//          Total Number of Seconds:                      19,805,415
//          Value of Milliseconds Component:                       0
//          Total Number of Milliseconds:             19,805,415,000
//          Ticks:                               198,054,150,000,000
' Define two dates.
Dim date1 As Date = #1/1/2010 8:00:15AM#
Dim date2 As Date = #8/18/2010 1:30:30PM#
' Calculate the interval between the two dates.
Dim interval As TimeSpan = date2 - date1
Console.WriteLine("{0} - {1} = {2}", date2, date1, interval.ToString())
' Display individual properties of the resulting TimeSpan object.
Console.WriteLine("   {0,-35} {1,20}", "Value of Days Component:", interval.Days)
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays)
Console.WriteLine("   {0,-35} {1,20}", "Value of Hours Component:", interval.Hours)
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours)
Console.WriteLine("   {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes)
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes)
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds)
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds)
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds)
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds)
Console.WriteLine("   {0,-35} {1,20:N0}", "Ticks:", interval.Ticks)
' The example displays the following output:
'       8/18/2010 1:30:30 PM - 1/1/2010 8:00:15 AM = 229.05:30:15
'          Value of Days Component:                             229
'          Total Number of Days:                   229.229340277778
'          Value of Hours Component:                              5
'          Total Number of Hours:                  5501.50416666667
'          Value of Minutes Component:                           30
'          Total Number of Minutes:                       330090.25
'          Value of Seconds Component:                           15
'          Total Number of Seconds:                      19,805,415
'          Value of Milliseconds Component:                       0
'          Total Number of Milliseconds:             19,805,415,000
'          Ticks:                               198,054,150,000,000
# Define two dates.
$Date2 = Get-Date -Date '2010/8/18' -Hour 13 -Minute 30 -Second 30
$Date1 = Get-Date -Date '2010/1/1'  -Hour 8  -Minute 0  -Second 15

# Calculate the interval between the two dates.
$Interval = $Date2 - $Date1
"{0} - {1} = {2}" -f $Date2, $Date1, ($Interval.ToString())

#  Display individual properties of the resulting TimeSpan object.
"   {0,-35} {1,20}"    -f "Value of Days Component:", $Interval.Days
"   {0,-35} {1,20}"    -f "Total Number of Days:", $Interval.TotalDays
"   {0,-35} {1,20}"    -f "Value of Hours Component:", $Interval.Hours
"   {0,-35} {1,20}"    -f "Total Number of Hours:", $Interval.TotalHours
"   {0,-35} {1,20}"    -f "Value of Minutes Component:", $Interval.Minutes
"   {0,-35} {1,20}"    -f "Total Number of Minutes:", $Interval.TotalMinutes
"   {0,-35} {1,20:N0}" -f "Value of Seconds Component:", $Interval.Seconds
"   {0,-35} {1,20:N0}" -f "Total Number of Seconds:", $Interval.TotalSeconds
"   {0,-35} {1,20:N0}" -f "Value of Milliseconds Component:", $Interval.Milliseconds
"   {0,-35} {1,20:N0}" -f "Total Number of Milliseconds:", $Interval.TotalMilliseconds
"   {0,-35} {1,20:N0}" -f "Ticks:", $Interval.Ticks

<# This sample produces the following output:

18/08/2010 13:30:30 - 01/01/2010 08:00:15 = 229.05:30:15
   Value of Days Component:                             229
   Total Number of Days:                   229.229340277778
   Value of Hours Component:                              5
   Total Number of Hours:                  5501.50416666667
   Value of Minutes Component:                           30
   Total Number of Minutes:                       330090.25
   Value of Seconds Component:                           15
   Total Number of Seconds:                      19,805,415
   Value of Milliseconds Component:                       0
   Total Number of Milliseconds:             19,805,415,000
   Ticks:                               198,054,150,000,000
#>

Comentários

Um objeto TimeSpan representa um intervalo de tempo (duração de tempo ou tempo decorrido) medido como um número positivo ou negativo de dias, horas, minutos, segundos e frações de um segundo.A TimeSpan object represents a time interval (duration of time or elapsed time) that is measured as a positive or negative number of days, hours, minutes, seconds, and fractions of a second. A estrutura de TimeSpan também pode ser usada para representar a hora do dia, mas somente se a hora não estiver relacionada a uma determinada data.The TimeSpan structure can also be used to represent the time of day, but only if the time is unrelated to a particular date. Caso contrário, a estrutura de DateTime ou DateTimeOffset deve ser usada em vez disso.Otherwise, the DateTime or DateTimeOffset structure should be used instead. (Para obter mais informações sobre como usar a estrutura de TimeSpan para refletir a hora do dia, consulte escolhendo entre DateTime, DateTimeOffset, TimeSpan e TimeZoneInfo.)(For more information about using the TimeSpan structure to reflect the time of day, see Choosing Between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo.)

Observação

Um valor TimeSpan representa um intervalo de tempo e pode ser expresso como um número específico de dias, horas, minutos, segundos e milissegundos.A TimeSpan value represents a time interval and can be expressed as a particular number of days, hours, minutes, seconds, and milliseconds. Como representa um intervalo geral sem referência a um ponto de início ou de fim específico, ele não pode ser expresso em termos de anos e meses, ambos com um número variável de dias.Because it represents a general interval without reference to a particular start or end point, it cannot be expressed in terms of years and months, both of which have a variable number of days. Ele é diferente de um valor DateTime, que representa uma data e hora sem referência a um fuso horário específico, ou um valor de DateTimeOffset, que representa um determinado momento.It differs from a DateTime value, which represents a date and time without reference to a particular time zone, or a DateTimeOffset value, which represents a specific moment of time.

A maior unidade de tempo que a estrutura de TimeSpan usa para medir a duração é um dia.The largest unit of time that the TimeSpan structure uses to measure duration is a day. Os intervalos de tempo são medidos em dias para fins de consistência, pois o número de dias em unidades de tempo maiores, como meses e anos, varia.Time intervals are measured in days for consistency, because the number of days in larger units of time, such as months and years, varies.

O valor de um objeto TimeSpan é o número de tiques que é igual ao intervalo de tempo representado.The value of a TimeSpan object is the number of ticks that equal the represented time interval. Uma escala é igual a 100 nanossegundos ou 1 10 a um segundo.A tick is equal to 100 nanoseconds, or one ten-millionth of a second. O valor de um objeto TimeSpan pode variar de TimeSpan.MinValue para TimeSpan.MaxValue.The value of a TimeSpan object can range from TimeSpan.MinValue to TimeSpan.MaxValue.

Criando uma instância de um valor TimeSpanInstantiating a TimeSpan Value

Você pode criar uma instância de um valor TimeSpan de várias maneiras:You can instantiate a TimeSpan value in a number of ways:

  • Chamando seu Construtor implícito sem parâmetros.By calling its implicit parameterless constructor. Isso cria um objeto cujo valor é TimeSpan.Zero, como mostra o exemplo a seguir.This creates an object whose value is TimeSpan.Zero, as the following example shows.

    TimeSpan interval = new TimeSpan();
    Console.WriteLine(interval.Equals(TimeSpan.Zero));    // Displays "True".
    
    Dim interval As New TimeSpan()
    Console.WriteLine(interval.Equals(TimeSpan.Zero))     ' Displays "True".
    
  • Chamando um de seus construtores explícitos.By calling one of its explicit constructors. O exemplo a seguir inicializa um valor de TimeSpan para um número especificado de horas, minutos e segundos.The following example initializes a TimeSpan value to a specified number of hours, minutes, and seconds.

    TimeSpan interval = new TimeSpan(2, 14, 18);
    Console.WriteLine(interval.ToString());              
    
    // Displays "02:14:18".
    
    Dim interval As New TimeSpan(2, 14, 18)
    Console.WriteLine(interval.ToString())                ' Displays "02:14:18".
    
  • Chamando um método ou executando uma operação que retorna um valor de TimeSpan.By calling a method or performing an operation that returns a TimeSpan value. Por exemplo, você pode criar uma instância de um valor TimeSpan que representa o intervalo entre dois valores de data e hora, como mostra o exemplo a seguir.For example, you can instantiate a TimeSpan value that represents the interval between two date and time values, as the following example shows.

    DateTime departure = new DateTime(2010, 6, 12, 18, 32, 0);
    DateTime arrival = new DateTime(2010, 6, 13, 22, 47, 0);
    TimeSpan travelTime = arrival - departure;  
    Console.WriteLine("{0} - {1} = {2}", arrival, departure, travelTime);      
    
    // The example displays the following output:
    //       6/13/2010 10:47:00 PM - 6/12/2010 6:32:00 PM = 1.04:15:00
    
    Dim departure As DateTime = #06/12/2010 6:32PM#
    Dim arrival As DateTime = #06/13/2010 10:47PM#
    Dim travelTime As TimeSpan = arrival - departure  
    Console.WriteLine("{0} - {1} = {2}", arrival, departure, travelTime)      
    ' The example displays the following output:
    '       6/13/2010 10:47:00 PM - 6/12/2010 6:32:00 PM = 1.04:15:00
    

    Você também pode inicializar um objeto TimeSpan com um valor de tempo zero dessa forma, como mostra o exemplo a seguir.You can also initialize a TimeSpan object to a zero time value in this way, as the following example shows.

       Random rnd = new Random();
    
       TimeSpan timeSpent = TimeSpan.Zero;
    
       timeSpent += GetTimeBeforeLunch();
       timeSpent += GetTimeAfterLunch();
    
       Console.WriteLine("Total time: {0}", timeSpent);
    
       TimeSpan GetTimeBeforeLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
       
       TimeSpan GetTimeAfterLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
    
       // The example displays output like the following:
       //        Total time: 08:00:00
    
    Module Example
       Dim rnd As New Random()
       
       Public Sub Main()
          Dim timeSpent As TimeSpan = TimeSpan.Zero
    
          timeSpent += GetTimeBeforeLunch()
          timeSpent += GetTimeAfterLunch()
    
          Console.WriteLine("Total time: {0}", timeSpent)
       End Sub
       
       Private Function GetTimeBeforeLunch() As TimeSpan
          Return New TimeSpan(rnd.Next(3, 6), 0, 0)
       End Function
       
       Private Function GetTimeAfterLunch() As TimeSpan
          Return New TimeSpan(rnd.Next(3, 6), 0, 0)
       End Function
    End Module
    ' The example displays output like the following:
    '       Total time: 08:00:00
    

    TimeSpan valores são retornados por operadores aritméticos e métodos das estruturas DateTime, DateTimeOffsete TimeSpan.TimeSpan values are returned by arithmetic operators and methods of the DateTime, DateTimeOffset, and TimeSpan structures.

  • Analisando a representação de cadeia de caracteres de um valor de TimeSpan.By parsing the string representation of a TimeSpan value. Você pode usar os métodos Parse e TryParse para converter cadeias de caracteres que contêm intervalos de tempo para TimeSpan valores.You can use the Parse and TryParse methods to convert strings that contain time intervals to TimeSpan values. O exemplo a seguir usa o método Parse para converter uma matriz de cadeias de caracteres em valores TimeSpan.The following example uses the Parse method to convert an array of strings to TimeSpan values.

    string[] values = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12"};
    foreach (string value in values)
    {
       try {
          TimeSpan ts = TimeSpan.Parse(value);
          Console.WriteLine("'{0}' --> {1}", value, ts);
       }
       catch (FormatException) {
          Console.WriteLine("Unable to parse '{0}'", value);
       }
       catch (OverflowException) {
          Console.WriteLine("'{0}' is outside the range of a TimeSpan.", value);
       }   
    }
    
    // The example displays the following output:
    //       '12' --> 12.00:00:00
    //       Unable to parse '31.'
    //       '5.8:32:16' --> 5.08:32:16
    //       '12:12:15.95' --> 12:12:15.9500000
    //       Unable to parse '.12'  
    
    Dim values() As String = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12"}
    For Each value As String In values
       Try
          Dim ts As TimeSpan = TimeSpan.Parse(value)
          Console.WriteLine("'{0}' --> {1}", value, ts)
       Catch e As FormatException
          Console.WriteLine("Unable to parse '{0}'", value)
       Catch e As OverflowException
          Console.WriteLine("'{0}' is outside the range of a TimeSpan.", value)
       End Try   
    Next
    ' The example displays the following output:
    '       '12' --> 12.00:00:00
    '       Unable to parse '31.'
    '       '5.8:32:16' --> 5.08:32:16
    '       '12:12:15.95' --> 12:12:15.9500000
    '       Unable to parse '.12'  
    

    Além disso, você pode definir o formato preciso da cadeia de caracteres de entrada a ser analisada e convertida em um valor TimeSpan chamando o método ParseExact ou TryParseExact.In addition, you can define the precise format of the input string to be parsed and converted to a TimeSpan value by calling the ParseExact or TryParseExact method.

Realizando operações em valores TimeSpanPerforming Operations on TimeSpan Values

Você pode adicionar e subtrair durações de tempo usando os operadores Addition e Subtraction ou chamando os métodos Add e Subtract.You can add and subtract time durations either by using the Addition and Subtraction operators, or by calling the Add and Subtract methods. Você também pode comparar duas durações de tempo chamando os métodos Compare, CompareToe Equals.You can also compare two time durations by calling the Compare, CompareTo, and Equals methods. A estrutura de TimeSpan também inclui os métodos Duration e Negate, que convertem intervalos de tempo em valores positivos e negativos,The TimeSpan structure also includes the Duration and Negate methods, which convert time intervals to positive and negative values,

O intervalo de valores de TimeSpan é MinValue a MaxValue.The range of TimeSpan values is MinValue to MaxValue.

Formatando um valor TimeSpanFormatting a TimeSpan Value

Um valor de TimeSpan pode ser representado como [-]d. hh:mm:SS. FF, em que o sinal de subtração opcional indica um intervalo de tempo negativo, o componente d é dias, hh é horas conforme medido em um relógio de 24 horas, mm é minutos, SS é segundos e FF é frações de segundo.A TimeSpan value can be represented as [-]d.hh:mm:ss.ff, where the optional minus sign indicates a negative time interval, the d component is days, hh is hours as measured on a 24-hour clock, mm is minutes, ss is seconds, and ff is fractions of a second. Ou seja, um intervalo de tempo consiste em um número positivo ou negativo de dias sem uma hora do dia, ou um número de dias com uma hora do dia, ou apenas uma hora do dia.That is, a time interval consists of a positive or negative number of days without a time of day, or a number of days with a time of day, or only a time of day.

A partir da .NET Framework 4.NET Framework 4, a estrutura de TimeSpan dá suporte à formatação sensível à cultura por meio de sobrecargas de seu método ToString, que converte um valor de TimeSpan em sua representação de cadeia de caracteres.Beginning with the .NET Framework 4.NET Framework 4, the TimeSpan structure supports culture-sensitive formatting through the overloads of its ToString method, which converts a TimeSpan value to its string representation. O método TimeSpan.ToString() padrão retorna um intervalo de tempo usando um formato invariável que é idêntico ao valor de retorno nas versões anteriores do .NET Framework.The default TimeSpan.ToString() method returns a time interval by using an invariant format that is identical to its return value in previous versions of the .NET Framework. A sobrecarga de TimeSpan.ToString(String) permite especificar uma cadeia de caracteres de formato que define a representação da cadeia de caracteres do intervalo de tempo.The TimeSpan.ToString(String) overload lets you specify a format string that defines the string representation of the time interval. A sobrecarga de TimeSpan.ToString(String, IFormatProvider) permite especificar uma cadeia de caracteres de formato e a cultura cujas convenções de formatação são usadas para criar a representação de cadeia de caracteres do intervalo de tempo.The TimeSpan.ToString(String, IFormatProvider) overload lets you specify a format string and the culture whose formatting conventions are used to create the string representation of the time interval. TimeSpan dá suporte a cadeias de caracteres de formato padrão e personalizadas.TimeSpan supports both standard and custom format strings. (Para obter mais informações, consulte cadeias de caracteres de formato standard TimeSpan e cadeias de caracteres de formato de TimeSpan personalizado.) No entanto, somente as cadeias de caracteres de formato padrão são sensíveis à cultura.(For more information, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings.) However, only standard format strings are culture-sensitive.

Restaurando formatação de TimeSpan herdadoRestoring Legacy TimeSpan Formatting

Em alguns casos, o código que formata com êxito TimeSpan valores em .NET Framework 3,5.NET Framework 3.5 e versões anteriores falha no .NET Framework 4.NET Framework 4.In some cases, code that successfully formats TimeSpan values in .NET Framework 3,5.NET Framework 3.5 and earlier versions fails in .NET Framework 4.NET Framework 4. Isso é mais comum no código que chama um método < TimeSpan_LegacyFormatMode > elemento para formatar um valor de TimeSpan com uma cadeia de caracteres de formato.This is most common in code that calls a <TimeSpan_LegacyFormatMode> element method to format a TimeSpan value with a format string. O exemplo a seguir formata com êxito um valor de TimeSpan no .NET Framework 3,5.NET Framework 3.5 e em versões anteriores, mas gera uma exceção no .NET Framework 4.NET Framework 4 e em versões posteriores.The following example successfully formats a TimeSpan value in .NET Framework 3,5.NET Framework 3.5 and earlier versions, but throws an exception in .NET Framework 4.NET Framework 4 and later versions. Observe que ele tenta Formatar um valor de TimeSpan usando um especificador de formato sem suporte, que é ignorado em .NET Framework 3,5.NET Framework 3.5 e em versões anteriores.Note that it attempts to format a TimeSpan value by using an unsupported format specifier, which is ignored in .NET Framework 3,5.NET Framework 3.5 and earlier versions.

ShowFormattingCode();
// Output from .NET Framework 3.5 and earlier versions:
//       12:30:45
// Output from .NET Framework 4:
//       Invalid Format    

Console.WriteLine("---");

ShowParsingCode();
// Output:
//       000000006 --> 6.00:00:00

void ShowFormattingCode()
{
   TimeSpan interval = new TimeSpan(12, 30, 45);
   string output;
   try {
      output = String.Format("{0:r}", interval);
   }
   catch (FormatException) {
      output = "Invalid Format";
   }
   Console.WriteLine(output);
}

void ShowParsingCode()
{
   string value = "000000006";
   try {
      TimeSpan interval = TimeSpan.Parse(value);
      Console.WriteLine("{0} --> {1}", value, interval);
   }
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);
   }
}
Dim interval As New TimeSpan(12, 30, 45)
Dim output As String
Try
   output = String.Format("{0:r}", interval)
Catch e As FormatException
   output = "Invalid Format"
End Try
Console.WriteLine(output)
' Output from .NET Framework 3.5 and earlier versions:
'       12:30:45
' Output from .NET Framework 4:
'       Invalid Format

Se você não puder modificar o código, poderá restaurar a formatação herdada dos valores de TimeSpan de uma das seguintes maneiras:If you cannot modify the code, you can restore the legacy formatting of TimeSpan values in one of the following ways:

  • Criando um arquivo de configuração que contém o elemento < TimeSpan_LegacyFormatMode >.By creating a configuration file that contains the <TimeSpan_LegacyFormatMode> element. Definir o atributo enabled deste elemento como true restaura a formatação de TimeSpan herdada em uma base por aplicativo.Setting this element's enabled attribute to true restores legacy TimeSpan formatting on a per-application basis.

  • Definindo a opção de compatibilidade "NetFx40_TimeSpanLegacyFormatMode" quando você cria um domínio de aplicativo.By setting the "NetFx40_TimeSpanLegacyFormatMode" compatibility switch when you create an application domain. Isso permite a formatação de TimeSpan herdada em uma base de domínio por aplicativo.This enables legacy TimeSpan formatting on a per-application-domain basis. O exemplo a seguir cria um domínio de aplicativo que usa a formatação de TimeSpan herdada.The following example creates an application domain that uses legacy TimeSpan formatting.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          AppDomainSetup appSetup = new AppDomainSetup();
          appSetup.SetCompatibilitySwitches( new string[] { "NetFx40_TimeSpanLegacyFormatMode" } );
          AppDomain legacyDomain = AppDomain.CreateDomain("legacyDomain", 
                                                          null, appSetup);
          legacyDomain.ExecuteAssembly("ShowTimeSpan.exe");
       }
    }
    
    Module Example
       Public Sub Main()
          Dim appSetup As New AppDomainSetup()
          appSetup.SetCompatibilitySwitches( { "NetFx40_TimeSpanLegacyFormatMode" } )
          Dim legacyDomain As AppDomain = AppDomain.CreateDomain("legacyDomain", 
                                                                 Nothing, appSetup)
          legacyDomain.ExecuteAssembly("ShowTimeSpan.exe")
       End Sub
    End Module
    

    Quando o código a seguir é executado no novo domínio do aplicativo, ele reverte para o comportamento herdado de TimeSpan formatação.When the following code executes in the new application domain, it reverts to legacy TimeSpan formatting behavior.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          TimeSpan interval = DateTime.Now - DateTime.Now.Date;
          string msg = String.Format("Elapsed Time Today: {0:d} hours.",
                                     interval);
          Console.WriteLine(msg);
       }
    }
    // The example displays the following output:
    //       Elapsed Time Today: 01:40:52.2524662 hours.
    
    Module Example
       Public Sub Main()
          Dim interval As TimeSpan = Date.Now - Date.Now.Date
          Dim msg As String = String.Format("Elapsed Time Today: {0:d} hours.",
                                             interval)
          Console.WriteLine(msg)
       End Sub
    End Module
    ' The example displays output like the following:
    '       Elapsed Time Today: 01:40:52.2524662 hours.
    

Construtores

TimeSpan(Int32, Int32, Int32)

Inicializa uma nova instância da estrutura TimeSpan para um número especificado de horas, minutos e segundos.Initializes a new instance of the TimeSpan structure to a specified number of hours, minutes, and seconds.

TimeSpan(Int32, Int32, Int32, Int32)

Inicializa uma nova instância da estrutura TimeSpan para um número especificado de dias, horas, minutos e segundos.Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, and seconds.

TimeSpan(Int32, Int32, Int32, Int32, Int32)

Inicializa uma nova instância da estrutura TimeSpan para um número especificado de dias, horas, minutos, segundos e milissegundos.Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, seconds, and milliseconds.

TimeSpan(Int64)

Inicializa uma nova instância da estrutura TimeSpan para o número especificado de tiques.Initializes a new instance of the TimeSpan structure to the specified number of ticks.

Campos

MaxValue

Representa o valor máximo de TimeSpan.Represents the maximum TimeSpan value. Este campo é somente leitura.This field is read-only.

MinValue

Representa o valor mínimo de TimeSpan.Represents the minimum TimeSpan value. Este campo é somente leitura.This field is read-only.

TicksPerDay

Representa o número de tiques em 1 dia.Represents the number of ticks in 1 day. Este campo é constante.This field is constant.

TicksPerHour

Representa o número de tiques em 1 hora.Represents the number of ticks in 1 hour. Este campo é constante.This field is constant.

TicksPerMillisecond

Representa o número de tiques em 1 milissegundo.Represents the number of ticks in 1 millisecond. Este campo é constante.This field is constant.

TicksPerMinute

Representa o número de tiques em 1 minuto.Represents the number of ticks in 1 minute. Este campo é constante.This field is constant.

TicksPerSecond

Representa o número de tiques em 1 segundo.Represents the number of ticks in 1 second.

Zero

Representa o valor de TimeSpan zero.Represents the zero TimeSpan value. Este campo é somente leitura.This field is read-only.

Propriedades

Days

Obtém o componente de dias do intervalo de tempo representado pela estrutura TimeSpan atual.Gets the days component of the time interval represented by the current TimeSpan structure.

Hours

Obtém o componente de horas do intervalo de tempo representado pela estrutura TimeSpan atual.Gets the hours component of the time interval represented by the current TimeSpan structure.

Milliseconds

Obtém o componente de milissegundos do intervalo de tempo representado pela estrutura TimeSpan atual.Gets the milliseconds component of the time interval represented by the current TimeSpan structure.

Minutes

Obtém o componente de minutos do intervalo de tempo representado pela estrutura TimeSpan atual.Gets the minutes component of the time interval represented by the current TimeSpan structure.

Seconds

Obtém o componente de segundos do intervalo de tempo representado pela estrutura TimeSpan atual.Gets the seconds component of the time interval represented by the current TimeSpan structure.

Ticks

Obtém o número de tiques que representam o valor da estrutura TimeSpan atual.Gets the number of ticks that represent the value of the current TimeSpan structure.

TotalDays

Obtém o valor da estrutura TimeSpan atual expressa em dias inteiros e fracionários.Gets the value of the current TimeSpan structure expressed in whole and fractional days.

TotalHours

Obtém o valor da atual estrutura TimeSpan expressa em horas total e parcial.Gets the value of the current TimeSpan structure expressed in whole and fractional hours.

TotalMilliseconds

Obtém o valor da atual estrutura TimeSpan atual expressa em milissegundos totais e parciais.Gets the value of the current TimeSpan structure expressed in whole and fractional milliseconds.

TotalMinutes

Obtém o valor da atual estrutura TimeSpan expressa em minutos total e parcial.Gets the value of the current TimeSpan structure expressed in whole and fractional minutes.

TotalSeconds

Obtém o valor da atual estrutura TimeSpan expressa em segundos total e parcial.Gets the value of the current TimeSpan structure expressed in whole and fractional seconds.

Métodos

Add(TimeSpan)

Retorna um novo objeto TimeSpan cujo valor é a soma do objeto TimeSpan especificado e dessa instância.Returns a new TimeSpan object whose value is the sum of the specified TimeSpan object and this instance.

Compare(TimeSpan, TimeSpan)

Compara dois valores TimeSpan e retorna um inteiro que indica se o primeiro valor é menor que, igual a ou maior que o segundo valor.Compares two TimeSpan values and returns an integer that indicates whether the first value is shorter than, equal to, or longer than the second value.

CompareTo(Object)

Compara esta instância a um objeto especificado e retorna um inteiro que indica se essa instância é mais curta, igual ou mais longa que o objeto especificado.Compares this instance to a specified object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the specified object.

CompareTo(TimeSpan)

Compara esta instância com um objeto TimeSpan especificado e retorna um inteiro que indica se esta instância é menor que, igual a ou maior que o objeto TimeSpan.Compares this instance to a specified TimeSpan object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the TimeSpan object.

Divide(Double)

Retorna um novo objeto TimeSpan, cujo valor é o resultado da divisão dessa instância e o divisor especificado.Returns a new TimeSpan object which value is the result of division of this instance and the specified divisor.

Divide(TimeSpan)

Retorna um novo valor de Double que é o resultado da divisão dessa instância e do ts especificado.Returns a new Double value which is the result of division of this instance and the specified ts.

Duration()

Retorna um novo objeto TimeSpan cujo valor é o valor absoluto do objeto TimeSpan atual.Returns a new TimeSpan object whose value is the absolute value of the current TimeSpan object.

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.Returns a value indicating whether this instance is equal to a specified object.

Equals(TimeSpan)

Retorna um valor que indica se essa instância é igual a um objeto TimeSpan especificado.Returns a value indicating whether this instance is equal to a specified TimeSpan object.

Equals(TimeSpan, TimeSpan)

Retorna um valor que indica se duas instâncias especificadas de TimeSpan são iguais.Returns a value that indicates whether two specified instances of TimeSpan are equal.

FromDays(Double)

Retorna um TimeSpan que representa um número especificado de dias, em que a especificação tem a precisão do milissegundo mais próximo.Returns a TimeSpan that represents a specified number of days, where the specification is accurate to the nearest millisecond.

FromHours(Double)

Retorna um TimeSpan que representa um número especificado de horas, em que a especificação tem a precisão do milissegundo mais próximo.Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.

FromMilliseconds(Double)

Retorna um TimeSpan que representa um número especificado de milissegundos.Returns a TimeSpan that represents a specified number of milliseconds.

FromMinutes(Double)

Retorna um TimeSpan que representa um número especificado de minutos, em que a especificação tem a precisão do milissegundo mais próximo.Returns a TimeSpan that represents a specified number of minutes, where the specification is accurate to the nearest millisecond.

FromSeconds(Double)

Retorna um TimeSpan que representa um número especificado de segundos, em que a especificação tem a precisão do milissegundo mais próximo.Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond.

FromTicks(Int64)

Retorna um TimeSpan que representa o tempo especificado, no qual a especificação está em unidades de tiques.Returns a TimeSpan that represents a specified time, where the specification is in units of ticks.

GetHashCode()

Retorna um código hash para essa instância.Returns a hash code for this instance.

Multiply(Double)

Retorna um novo objeto TimeSpan, cujo valor é o resultado da multiplicação dessa instância e o factor especificado.Returns a new TimeSpan object which value is the result of multiplication of this instance and the specified factor.

Negate()

Retorna um novo objeto TimeSpan cujo valor é o valor negado dessa instância.Returns a new TimeSpan object whose value is the negated value of this instance.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Converte a representação de intervalo de um intervalo de tempo em seu equivalente de TimeSpan usando as informações de formato específicas da cultura definidas.Converts the span representation of a time interval to its TimeSpan equivalent by using the specified culture-specific format information.

Parse(String)

Converte a representação da cadeia de caracteres de um intervalo de tempo em seu equivalente TimeSpan.Converts the string representation of a time interval to its TimeSpan equivalent.

Parse(String, IFormatProvider)

Converte a representação de cadeia de caracteres de um intervalo de hora em seu equivalente de TimeSpan usando as informações de formato específicas da cultura especificadas.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific format information.

ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles)

Converte o intervalo de caracteres de um intervalo de tempo em seu equivalente de TimeSpan usando o formato e as informações de formato específicas da cultura definidos.Converts the char span of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. O formato de representação da cadeia de caracteres deve corresponder exatamente ao formato especificado.The format of the string representation must match the specified format exactly.

ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpanStyles)

Converte a representação de cadeia de caracteres de um intervalo de tempo em seu TimeSpan equivalente usando os formatos especificados, as informações de formato específicas de cultura e os estilos.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. O formato da representação da cadeia de caracteres deve corresponder exatamente a um dos formatos especificados.The format of the string representation must match one of the specified formats exactly.

ParseExact(String, String, IFormatProvider)

Converte a representação de cadeia de caracteres de um intervalo de hora em seu equivalente de TimeSpan usando o formato e as informações de formato específicas da cultura especificadas.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. O formato de representação da cadeia de caracteres deve corresponder exatamente ao formato especificado.The format of the string representation must match the specified format exactly.

ParseExact(String, String, IFormatProvider, TimeSpanStyles)

Converte a representação de cadeia de caracteres de um intervalo em seu equivalente de TimeSpan usando o formato e as informações de formato específicas da cultura e estilo.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles. O formato de representação da cadeia de caracteres deve corresponder exatamente ao formato especificado.The format of the string representation must match the specified format exactly.

ParseExact(String, String[], IFormatProvider)

Converte a representação de cadeia de caracteres de um intervalo de tempo em seu TimeSpan equivalente usando a matriz de cadeias de caracteres de formato especificada e as informações de formato específicas de cultura.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified array of format strings and culture-specific format information. O formato da representação da cadeia de caracteres deve corresponder exatamente a um dos formatos especificados.The format of the string representation must match one of the specified formats exactly.

ParseExact(String, String[], IFormatProvider, TimeSpanStyles)

Converte a representação de cadeia de caracteres de um intervalo de tempo em seu TimeSpan equivalente usando os formatos especificados, as informações de formato específicas de cultura e os estilos.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. O formato da representação da cadeia de caracteres deve corresponder exatamente a um dos formatos especificados.The format of the string representation must match one of the specified formats exactly.

Subtract(TimeSpan)

Retorna um novo objeto TimeSpan cujo valor é a diferença entre o objeto TimeSpan especificado e essa instância.Returns a new TimeSpan object whose value is the difference between the specified TimeSpan object and this instance.

ToString()

Converte o valor do atual objeto TimeSpan na representação de cadeia de caracteres equivalente.Converts the value of the current TimeSpan object to its equivalent string representation.

ToString(String)

Converte o valor do objeto TimeSpan atual para sua representação de cadeia de caracteres equivalente usando o formato especificado.Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format.

ToString(String, IFormatProvider)

Converte o valor do objeto TimeSpan atual na representação de cadeia de caracteres equivalente usando o formato especificado e as informações de formatação específicas da cultura.Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format and culture-specific formatting information.

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Tenta formatar o valor da instância do intervalo de tempo atual para o intervalo de caracteres fornecido.Tries to format the value of the current timespan number instance into the provided span of characters.

TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

Converte a representação de span de um intervalo de tempo em seu equivalente de TimeSpan usando as informações especificadas de formatação específicas da cultura e retorna um valor que indica se a conversão foi bem-sucedida.Converts the span representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, TimeSpan)

Converte a representação de intervalo de um intervalo de tempo em seu equivalente de TimeSpan e retorna um valor que indica se a conversão foi bem-sucedida.Converts the span representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

TryParse(String, IFormatProvider, TimeSpan)

Converte a representação de cadeia de caracteres de um intervalo de tempo em seu TimeSpan equivalente usando as informações especificadas de formatação específicas da cultura e retorna um valor que indica se a conversão foi bem-sucedida.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded.

TryParse(String, TimeSpan)

Converte a representação de cadeia de caracteres de um intervalo de tempo no equivalente de TimeSpan e retorna um valor que indica se a conversão foi bem-sucedida.Converts the string representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

Converte a representação de intervalo especificada de um intervalo de tempo em seu TimeSpan equivalente usando os formatos especificados e as informações de formato específicas da cultura e retorna um valor que indica se a conversão foi bem-sucedida.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information, and returns a value that indicates whether the conversion succeeded. O formato de representação da cadeia de caracteres deve corresponder exatamente ao formato especificado.The format of the string representation must match the specified format exactly.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles, TimeSpan)

Converte a representação de intervalo especificada de um intervalo de tempo em seu equivalente de TimeSpan usando o formato especificado, as informações de formato específicas da cultura e os estilos e retorna um valor que indica se a conversão foi bem-sucedida.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. O formato de representação da cadeia de caracteres deve corresponder exatamente ao formato especificado.The format of the string representation must match the specified format exactly.

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpan)

Converte a representação de intervalo especificada de um intervalo de tempo em seu equivalente de TimeSpan usando os formatos especificados e as informações de formato específicas da cultura e retorna um valor que indica se a conversão foi bem-sucedida.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information, and returns a value that indicates whether the conversion succeeded. O formato da representação da cadeia de caracteres deve corresponder exatamente a um dos formatos especificados.The format of the string representation must match one of the specified formats exactly.

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

Converte a representação de intervalo especificada de um intervalo de tempo em seu equivalente de TimeSpan usando o formato especificado, as informações de formato específicas da cultura e os estilos e retorna um valor que indica se a conversão foi bem-sucedida.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. O formato da representação da cadeia de caracteres deve corresponder exatamente a um dos formatos especificados.The format of the string representation must match one of the specified formats exactly.

TryParseExact(String, String, IFormatProvider, TimeSpan)

Converte a representação de cadeia de caracteres de um intervalo de tempo em seu TimeSpan equivalente usando as informações de formato e cultura específicas e retorna um valor que indica se a conversão foi bem-sucedida.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information, and returns a value that indicates whether the conversion succeeded. O formato de representação da cadeia de caracteres deve corresponder exatamente ao formato especificado.The format of the string representation must match the specified format exactly.

TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)

Converte a representação de cadeia de caracteres de um intervalo de tempo em seu TimeSpan equivalente usando as informações de formato específicas da cultura, bem como estilos, especificados e retorna um valor que indica se a conversão foi bem-sucedida.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. O formato de representação da cadeia de caracteres deve corresponder exatamente ao formato especificado.The format of the string representation must match the specified format exactly.

TryParseExact(String, String[], IFormatProvider, TimeSpan)

Converte a representação de cadeia de caracteres especificada de um intervalo de tempo em seu TimeSpan equivalente usando os formatos especificados e as informações de formato específicas da cultura e retorna um valor que indica se a conversão foi bem-sucedida.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information, and returns a value that indicates whether the conversion succeeded. O formato da representação da cadeia de caracteres deve corresponder exatamente a um dos formatos especificados.The format of the string representation must match one of the specified formats exactly.

TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

Converte a representação de cadeia de caracteres especificada de um intervalo de tempo em seu TimeSpan equivalente usando os formatos especificados, as informações de formato específicas de cultura e os estilos e retorna um valor que indica se a conversão foi bem-sucedida.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. O formato da representação da cadeia de caracteres deve corresponder exatamente a um dos formatos especificados.The format of the string representation must match one of the specified formats exactly.

Operadores

Addition(TimeSpan, TimeSpan)

Adiciona duas instâncias de TimeSpan especificadas.Adds two specified TimeSpan instances.

Division(TimeSpan, Double)

Retorna um novo objeto TimeSpan, cujo valor é o resultado da divisão da instância timeSpan e o divisor especificado.Returns a new TimeSpan object which value is the result of division of timeSpan instance and the specified divisor.

Division(TimeSpan, TimeSpan)

Retorna um novo valor de Double, que é o resultado da divisão da instância t1 e do t2 especificado.Returns a new Double value which is the result of division of t1 instance and the specified t2.

Equality(TimeSpan, TimeSpan)

Indica se duas instâncias TimeSpan são iguais.Indicates whether two TimeSpan instances are equal.

GreaterThan(TimeSpan, TimeSpan)

Indica se um TimeSpan especificado é maior que outro TimeSpan especificado.Indicates whether a specified TimeSpan is greater than another specified TimeSpan.

GreaterThanOrEqual(TimeSpan, TimeSpan)

Indica se um TimeSpan especificado é maior ou igual a outro TimeSpan especificado.Indicates whether a specified TimeSpan is greater than or equal to another specified TimeSpan.

Inequality(TimeSpan, TimeSpan)

Indica se duas instâncias TimeSpan não são iguais.Indicates whether two TimeSpan instances are not equal.

LessThan(TimeSpan, TimeSpan)

Indica se um TimeSpan especificado é menor que outro TimeSpan especificado.Indicates whether a specified TimeSpan is less than another specified TimeSpan.

LessThanOrEqual(TimeSpan, TimeSpan)

Indica se um TimeSpan especificado é menor ou igual a outro TimeSpan especificado.Indicates whether a specified TimeSpan is less than or equal to another specified TimeSpan.

Multiply(Double, TimeSpan)

Retorna um novo objeto TimeSpan, cujo valor é o resultado da multiplicação da instância timeSpan e o factor especificado.Returns a new TimeSpan object which value is the result of multiplication of timeSpan instance and the specified factor.

Multiply(TimeSpan, Double)
Subtraction(TimeSpan, TimeSpan)

Subtrai um TimeSpan especificado de outro TimeSpan especificado.Subtracts a specified TimeSpan from another specified TimeSpan.

UnaryNegation(TimeSpan)

Retorna um TimeSpan cujo valor é o valor negado da instância especificada.Returns a TimeSpan whose value is the negated value of the specified instance.

UnaryPlus(TimeSpan)

Retorna a instância especificada do TimeSpan.Returns the specified instance of TimeSpan.

Implantações explícitas de interface

IComparable.CompareTo(Object)

Aplica-se a

Veja também