Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece comentários complementares à documentação de referência para esta API.
A cadeia de caracteres de entrada para os Parse métodos contém uma especificação de intervalo de tempo no formulário:
[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]
Elementos em colchetes ([ e ]) são opcionais. Uma seleção da lista de alternativas entre chaves ({ e }) e separada por barras verticais (|) é necessária. A tabela a seguir descreve cada elemento.
| Elemento | Descrição |
|---|---|
| Ws | Espaço em branco opcional. |
| - | Um sinal de subtração opcional, que indica um TimeSpan negativo. |
| d | Dias, variando de 0 a 10675199. |
| . | Um símbolo sensível à cultura que separa dias de horas. O formato invariável usa um caractere de ponto ("."). |
| Hh | Horas, variando de 0 a 23. |
| : | O símbolo separador de hora sensível à cultura. O formato invariável usa um caractere de dois-pontos (":"). |
| milímetro | Minutos, variando de 0 a 59. |
| ß | Segundos opcionais, variando de 0 a 59. |
| . | Um símbolo sensível à cultura que separa segundos de frações de segundo. O formato invariável usa um caractere de ponto ("."). |
| Ff | Segundos fracionários opcionais, consistindo de um a sete dígitos decimais. |
Se a cadeia de caracteres de entrada não for apenas um valor de dia, ela deverá incluir um componente de horas e minutos; outros componentes são opcionais. Se estiverem presentes, os valores de cada componente de tempo deverão estar dentro de um intervalo especificado. Por exemplo, o valor de hh, o componente de horas, deve estar entre 0 e 23. Por isso, passar "23:00:00" para o Parse método retorna um intervalo de tempo de 23 horas. Por outro lado, passar "24:00:00" retorna um intervalo de tempo de 24 dias. Como "24" está fora do intervalo do componente de horas, ele é interpretado como componente de dias.
Os componentes da cadeia de caracteres de entrada devem especificar coletivamente um intervalo de tempo maior ou igual a TimeSpan.MinValue e menor que ou igual a TimeSpan.MaxValue.
O método Parse(String) tenta analisar a cadeia de caracteres de entrada usando cada um dos formatos específicos da cultura para a cultura atual.
Notas para chamadores
Quando um componente de intervalo de tempo na cadeia de caracteres a ser analisada contém mais de sete dígitos, as operações de análise no .NET Framework 3.5 e versões anteriores podem se comportar de forma diferente das operações de análise no .NET Framework 4 e versões posteriores. Em alguns casos, as operações de análise de sintaxe que têm êxito no .NET Framework 3.5 e em versões anteriores podem falhar e lançar um OverflowException no .NET Framework 4 e nas versões mais recentes. Em outros casos, as operações de análise que geram um erro FormatException no .NET Framework 3.5 e versões anteriores podem falhar e lançar um erro OverflowException no .NET Framework 4 e posterior. O exemplo a seguir ilustra ambos os cenários.
string[] values = { "000000006", "12.12:12:12.12345678" };
foreach (string value in values)
{
try {
TimeSpan interval = TimeSpan.Parse(value);
Console.WriteLine($"{value} --> {interval}");
}
catch (FormatException) {
Console.WriteLine($"{value}: Bad Format");
}
catch (OverflowException) {
Console.WriteLine($"{value}: Overflow");
}
}
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// 12.12:12:12.12345678: Bad Format
// Output from .NET Framework 4 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
open System
let values = [| "000000006"; "12.12:12:12.12345678" |]
for value in values do
try
let interval = TimeSpan.Parse value
printfn $"{value} --> {interval}"
with
| :? FormatException ->
printfn $"{value}: Bad Format"
| :? OverflowException ->
printfn $"{value}: Overflow"
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// 12.12:12:12.12345678: Bad Format
// Output from .NET Framework 4 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
Dim values() As String = { "000000006", "12.12:12:12.12345678" }
For Each value As String In values
Try
Dim interval As TimeSpan = TimeSpan.Parse(value)
Console.WriteLine("{0} --> {1}", value, interval)
Catch e As FormatException
Console.WriteLine("{0}: Bad Format", value)
Catch e As OverflowException
Console.WriteLine("{0}: Overflow", value)
End Try
Next
' Output from .NET Framework 3.5 and earlier versions:
' 000000006 --> 6.00:00:00
' 12.12:12:12.12345678: Bad Format
' Output from .NET Framework 4:
' 000000006: Overflow
' 12.12:12:12.12345678: Overflow