Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Este artigo fornece observações complementares à documentação de referência para esta API.
Método TryParse(System.String,System.TimeSpan@)
O TimeSpan.TryParse(String, TimeSpan) método é como o TimeSpan.Parse(String) método, exceto que ele não lança uma exceção se a conversão falhar.
O s parâmetro contém uma especificação de intervalo de tempo no formato:
[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]
Os elementos entre parênteses retos ([ e ]) são opcionais. Uma seleção da lista de alternativas, que está 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 menos opcional, que indica um valor negativo TimeSpan. |
| d | Dias, variando de 0 a 10675199. |
| . | Um símbolo sensível à cultura que separa os dias das horas. O formato invariante usa um caractere de ponto ("."). |
| HH | Horário, variando de 0 a 23. |
| : | O símbolo do separador de tempo adaptado à cultura. O formato invariante usa o caractere dois pontos (":"). |
| mm | Minutos, variando de 0 a 59. |
| SS | Segundos opcionais, variando de 0 a 59. |
| . | Um símbolo sensível à cultura que separa segundos de frações de segundo. O formato invariante usa um caractere de ponto ("."). |
| ff | Segundos fracionários opcionais, consistindo de um a sete dígitos decimais. |
Os componentes de s devem coletivamente especificar um intervalo de tempo maior ou igual a TimeSpan.MinValue e menor ou igual a TimeSpan.MaxValue.
O Parse(String) método tenta analisar s usando cada um dos formatos específicos da cultura para a cultura atual.
TryParse(String, IFormatProvider, TimeSpan) método
O TryParse(String, IFormatProvider, TimeSpan) método é como o Parse(String, IFormatProvider) método, exceto que ele não lança uma exceção se a conversão falhar.
O input parâmetro contém uma especificação de intervalo de tempo no formato:
[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]
Os elementos entre parênteses retos ([ e ]) são opcionais. Uma seleção da lista de alternativas, que está 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 menos opcional, que indica um valor negativo TimeSpan. |
| d | Dias, variando de 0 a 10675199. |
| . | Um símbolo sensível à cultura que separa os dias das horas. O formato invariante usa um caractere de ponto ("."). |
| HH | Horário, variando de 0 a 23. |
| : | O símbolo do separador de tempo adaptado à cultura. O formato invariante usa o caractere dois pontos (":"). |
| mm | Minutos, variando de 0 a 59. |
| SS | Segundos opcionais, variando de 0 a 59. |
| . | Um símbolo sensível à cultura que separa segundos de frações de segundo. O formato invariante usa um caractere de ponto ("."). |
| ff | Segundos fracionários opcionais, consistindo de um a sete dígitos decimais. |
Os componentes de input devem especificar coletivamente um intervalo de tempo maior ou igual a TimeSpan.MinValue e menor ou igual a TimeSpan.MaxValue.
O TryParse(String, IFormatProvider, TimeSpan) método tenta analisar input usando cada um dos formatos específicos da cultura para a cultura especificada pelo formatProvider.
O formatProvider parâmetro é uma IFormatProvider implementação que fornece informações específicas da cultura sobre o formato da cadeia de caracteres retornada. O formatProvider parâmetro pode ser qualquer um dos seguintes:
- Um CultureInfo objeto que representa a cultura cujas convenções de formatação devem ser refletidas na cadeia de caracteres retornada. O DateTimeFormatInfo objeto retornado pela CultureInfo.DateTimeFormat propriedade define a formatação da cadeia de caracteres retornada.
- Um DateTimeFormatInfo objeto que define a formatação da cadeia de caracteres retornada.
- Um objeto personalizado que implementa a IFormatProvider interface. O método IFormatProvider.GetFormat retorna um objeto DateTimeFormatInfo que fornece informações de formatação.
Se formatProvider é null, o objeto DateTimeFormatInfo associado à cultura atual é usado.
Notas para quem telefona
Em alguns casos, 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 que foram bem-sucedidas e retornadas true no .NET Framework 3.5 e versões anteriores podem falhar e retornar false no .NET Framework 4 e versões posteriores. O exemplo a seguir ilustra esse cenário:
string value = "000000006";
TimeSpan interval;
if (TimeSpan.TryParse(value, out interval))
Console.WriteLine($"{value} --> {interval}");
else
Console.WriteLine($"Unable to parse '{value}'");
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// Output from .NET Framework 4:
// Unable to parse //000000006//
let value = "000000006"
match TimeSpan.TryParse value with
| true, interval ->
printfn $"{value} --> {interval}"
| _ ->
printfn $"Unable to parse '{value}'"
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// Output from .NET Framework 4:
// Unable to parse //000000006//
Dim value As String = "000000006"
Dim interval As TimeSpan
If TimeSpan.TryParse(value, interval) Then
Console.WriteLine("{0} --> {1}", value, interval)
Else
Console.WriteLine("Unable to parse '{0}'", value)
End If
' Output from .NET Framework 3.5 and earlier versions:
' 000000006 --> 6.00:00:00
' Output from .NET Framework 4:
' Unable to parse '000000006'