Métodos System.TimeSpan.TryParse
En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.
Método TryParse(System.String,System.TimeSpan@)
El TimeSpan.TryParse(String, TimeSpan) método es similar al TimeSpan.Parse(String) método , salvo que no produce una excepción si se produce un error en la conversión.
El s
parámetro contiene una especificación de intervalo de tiempo con el formato :
[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]
Los elementos de los corchetes ([ y ]) son opcionales. Se requiere una selección de la lista de alternativas entre llaves ({ y }) y separadas por barras verticales (|). En esta tabla se describe cada elemento.
Elemento | Descripción |
---|---|
ws | Espacio en blanco opcional. |
- | Un signo menos opcional, que indica un valor negativo TimeSpan. |
d | Días comprendidos entre 0 y 10675199. |
. | Símbolo que distingue la referencia cultural que separa días de horas. El formato invariable usa un carácter de punto ("."). |
hh | Horas, entre 0 y 23. |
: | Símbolo separador de tiempo que distingue la referencia cultural. El formato invariable usa un carácter de dos puntos (":"). |
mm | Minutos, entre 0 y 59. |
ss | Segundos opcionales, entre 0 y 59. |
. | Símbolo que distingue la referencia cultural que separa los segundos de las fracciones de un segundo. El formato invariable usa un carácter de punto ("."). |
ff | Fracciones opcionales de segundos, que constan de uno a siete dígitos decimales. |
Los componentes de s
deben especificar colectivamente un intervalo de tiempo mayor o igual que TimeSpan.MinValue y menor o igual que TimeSpan.MaxValue.
El Parse(String) método intenta analizar s
mediante cada uno de los formatos específicos de la referencia cultural para la referencia cultural actual.
Método TryParse(String, IFormatProvider, TimeSpan)
El TryParse(String, IFormatProvider, TimeSpan) método es similar al Parse(String, IFormatProvider) método , salvo que no produce una excepción si se produce un error en la conversión.
El input
parámetro contiene una especificación de intervalo de tiempo con el formato :
[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]
Los elementos de los corchetes ([ y ]) son opcionales. Se requiere una selección de la lista de alternativas entre llaves ({ y }) y separadas por barras verticales (|). En esta tabla se describe cada elemento.
Elemento | Descripción |
---|---|
ws | Espacio en blanco opcional. |
- | Un signo menos opcional, que indica un valor negativo TimeSpan. |
d | Días comprendidos entre 0 y 10675199. |
. | Símbolo que distingue la referencia cultural que separa días de horas. El formato invariable usa un carácter de punto ("."). |
hh | Horas, entre 0 y 23. |
: | Símbolo separador de tiempo que distingue la referencia cultural. El formato invariable usa un carácter de dos puntos (":"). |
mm | Minutos, entre 0 y 59. |
ss | Segundos opcionales, entre 0 y 59. |
. | Símbolo que distingue la referencia cultural que separa los segundos de las fracciones de un segundo. El formato invariable usa un carácter de punto ("."). |
ff | Fracciones opcionales de segundos, que constan de uno a siete dígitos decimales. |
Los componentes de deben especificar colectivamente un intervalo de input
tiempo mayor o igual que TimeSpan.MinValue y menor o igual que TimeSpan.MaxValue.
El TryParse(String, IFormatProvider, TimeSpan) método intenta analizar input
mediante cada uno de los formatos específicos de la referencia cultural para la referencia cultural especificada por formatProvider
.
El formatProvider
parámetro es una IFormatProvider implementación que proporciona información específica de la referencia cultural sobre el formato de la cadena devuelta. El formatProvider
parámetro puede ser cualquiera de los siguientes:
- Objeto CultureInfo que representa la referencia cultural cuyas convenciones de formato se van a reflejar en la cadena devuelta. El DateTimeFormatInfo objeto devuelto por la CultureInfo.DateTimeFormat propiedad define el formato de la cadena devuelta.
- Objeto DateTimeFormatInfo que define el formato de la cadena devuelta.
- Objeto personalizado que implementa la IFormatProvider interfaz . Su IFormatProvider.GetFormat método devuelve un DateTimeFormatInfo objeto que proporciona información de formato.
Si formatProvider
es null
, se usa el DateTimeFormatInfo objeto asociado a la referencia cultural actual.
Notas a los autores de llamadas
En algunos casos, cuando un componente de intervalo de tiempo de la cadena que se va a analizar contiene más de siete dígitos, las operaciones de análisis que se realizaron correctamente y devolvieron true
en .NET Framework 3.5 y versiones anteriores pueden producir un error y devolver false
en .NET Framework 4 y versiones posteriores. En el ejemplo siguiente se muestra este escenario:
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'