Condividi tramite


Metodi System.TimeSpan.TryParse

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

Metodo TryParse(System.String,System.TimeSpan@)

Il TimeSpan.TryParse(String, TimeSpan) metodo è simile al TimeSpan.Parse(String) metodo , ad eccezione del fatto che non genera un'eccezione se la conversione non riesce.

Il s parametro contiene una specifica dell'intervallo di tempo nel formato :

[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi. È necessaria una selezione dall'elenco di alternative racchiuse tra parentesi graffe ({ e }) e separate da barre verticali (|). La tabella seguente descrive i singoli elementi.

Elemento Descrizione
ws Spazio vuoto facoltativo.
- Segno meno facoltativo, che indica un valore negativo TimeSpan.
d Giorni, compresi tra 0 e 10675199.
. Simbolo sensibile alle impostazioni cultura che separa i giorni dalle ore. Il formato invariante usa un carattere punto (".").
hh Ore, comprese tra 0 e 23.
: Simbolo separatore temporale sensibile alle impostazioni cultura. Il formato invariante usa un carattere due punti (":").
mm Minuti, compresi tra 0 e 59.
ss Secondi facoltativi, compresi tra 0 e 59.
. Simbolo sensibile alle impostazioni cultura che separa i secondi da frazioni di secondo. Il formato invariante usa un carattere punto (".").
ff Secondi frazionari facoltativi, costituiti da una a sette cifre decimali.

I componenti di s devono specificare collettivamente un intervallo di tempo maggiore o uguale a TimeSpan.MinValue e minore o uguale a TimeSpan.MaxValue.

Il Parse(String) metodo tenta di analizzare s usando ognuno dei formati specifici delle impostazioni cultura per le impostazioni cultura correnti.

Metodo TryParse(String, IFormatProvider, TimeSpan)

Il TryParse(String, IFormatProvider, TimeSpan) metodo è simile al Parse(String, IFormatProvider) metodo , ad eccezione del fatto che non genera un'eccezione se la conversione non riesce.

Il input parametro contiene una specifica dell'intervallo di tempo nel formato :

[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi. È necessaria una selezione dall'elenco di alternative racchiuse tra parentesi graffe ({ e }) e separate da barre verticali (|). La tabella seguente descrive i singoli elementi.

Elemento Descrizione
ws Spazio vuoto facoltativo.
- Segno meno facoltativo, che indica un valore negativo TimeSpan.
d Giorni, compresi tra 0 e 10675199.
. Simbolo sensibile alle impostazioni cultura che separa i giorni dalle ore. Il formato invariante usa un carattere punto (".").
hh Ore, comprese tra 0 e 23.
: Simbolo separatore temporale sensibile alle impostazioni cultura. Il formato invariante usa un carattere due punti (":").
mm Minuti, compresi tra 0 e 59.
ss Secondi facoltativi, compresi tra 0 e 59.
. Simbolo sensibile alle impostazioni cultura che separa i secondi da frazioni di secondo. Il formato invariante usa un carattere punto (".").
ff Secondi frazionari facoltativi, costituiti da una a sette cifre decimali.

I componenti di devono specificare collettivamente un intervallo di input tempo maggiore o uguale a TimeSpan.MinValue e minore o uguale a TimeSpan.MaxValue.

Il TryParse(String, IFormatProvider, TimeSpan) metodo tenta di analizzare input usando ognuno dei formati specifici delle impostazioni cultura per le impostazioni cultura specificate da formatProvider.

Il formatProvider parametro è un'implementazione IFormatProvider che fornisce informazioni specifiche delle impostazioni cultura sul formato della stringa restituita. Il formatProvider parametro può essere uno dei seguenti:

Se formatProvider è null, viene utilizzato l'oggetto DateTimeFormatInfo associato alle impostazioni cultura correnti.

Note per i chiamanti

In alcuni casi, quando un componente intervallo di tempo nella stringa da analizzare contiene più di sette cifre, le operazioni di analisi riuscite e restituite true in .NET Framework 3.5 e versioni precedenti potrebbero non riuscire e restituire false in .NET Framework 4 e versioni successive. L'esempio seguente illustra questo scenario:

string value = "000000006";
TimeSpan interval;
if (TimeSpan.TryParse(value, out interval))
   Console.WriteLine("{0} --> {1}", value, interval);
else
   Console.WriteLine("Unable to parse '{0}'", 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'