Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método TimeSpan.TryParse (String, IFormatProvider, TimeSpan)

 

Publicado: octubre de 2016

Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan usando la información de formato específica de la referencia cultural, y devuelve un valor que indica si la conversión se realizó correctamente.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

Public Shared Function TryParse (
	input As String,
	formatProvider As IFormatProvider,
	<OutAttribute> ByRef result As TimeSpan
) As Boolean

Parámetros

input
Type: System.String

Cadena que especifica el intervalo de tiempo que se va a convertir.

formatProvider
Type: System.IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.

result
Type: System.TimeSpan

El resultado que devuelve este método contiene un objeto que representa el intervalo de tiempo especificado por input, o TimeSpan.Zero si la conversión no se realizó correctamente. Este parámetro se pasa sin inicializar.

Valor devuelto

Type: System.Boolean

true si input se convirtió correctamente; en caso contrario, false. Esta operación devuelve false si el parámetro input es null o String.Empty, tiene un formato no válido, representa un intervalo de tiempo menor que TimeSpan.MinValue o mayor que TimeSpan.MaxValue, o tiene al menos uno de sus componentes de días, horas, minutos o segundos fuera del intervalo válido.

El TryParse(String, IFormatProvider, TimeSpan) método es similar a la Parse(String, IFormatProvider) (método), salvo que TI 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 en el formulario:

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

Los elementos de los corchetes ([ y ]) son opcionales. Una selección de la lista de alternativas entre llaves ({y}) y separadas por barras verticales (|) son obligatorias. En la tabla siguiente describe cada elemento.

Elemento

Descripción

eb

Espacio en blanco opcional.

-

Un signo menos opcional, que indica un negativo TimeSpan.

d

Días, comprendidos entre 0 y 10675199.

.

Símbolo de la referencia cultural que separa horas a días. El formato invariable usa un punto (".") .

hh

Horas, comprendida entre 0 y 23.

:

El símbolo de separador de hora de la referencia cultural. El formato invariable usa dos puntos (":") caracteres.

mm

Minutos, comprendidos entre 0 y 59.

ss

Segundos opcionales, comprendidos entre 0 y 59.

.

Un símbolo de la referencia cultural que se separa los segundos de las fracciones de segundo. El formato invariable usa un punto (".") .

ff

Fracciones de segundo opcionales, que consta de uno a siete dígitos decimales.

Los componentes de input colectivamente se debe especificar un intervalo de tiempo es mayor o igual a TimeSpan.MinValue y menor o igual que TimeSpan.MaxValue.

El TryParse(String, IFormatProvider, TimeSpan) método intenta analizar input con cada uno de los formatos específicos de la referencia cultural para la referencia cultural especificada por formatProvider.

El formatProvider parámetro es un 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:

Si formatProvider es null, el DateTimeFormatInfo se usa el objeto que está asociado a la referencia cultural actual.

Notas para llamadores:

En algunos casos, cuando un componente de intervalo de tiempo en la cadena que se va a analizar contiene más de siete dígitos, las operaciones que se realice correctamente y devuelven de análisis true en el .NET Framework 3.5 y versiones anteriores pueden producir errores y devolver false en la .NET Framework 4, en el ejemplo siguiente se muestra este escenario.

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'

En el ejemplo siguiente se define una matriz de CultureInfo objetos y usa cada objeto en llamadas a la TryParse(String, IFormatProvider, TimeSpan) método para analizar los elementos en una matriz de cadenas. El ejemplo muestra cómo las convenciones de una referencia cultural concreta influyen en la operación de formato.

Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { "6", "6:12", "6:12:14", "6:12:14:45", 
                                 "6.12:14:45", "6:12:14:45.3448", 
                                 "6:12:14:45,3448", "6:34:14:45" }
      Dim cultures() As CultureInfo = { New CultureInfo("en-US"), 
                                        New CultureInfo("ru-RU"),
                                        CultureInfo.InvariantCulture }

      Dim header As String = String.Format("{0,-17}", "String")
      For Each culture As CultureInfo In cultures
         header += If(culture.Equals(CultureInfo.InvariantCulture), 
                      String.Format("{0,20}", "Invariant"),
                      String.Format("{0,20}", culture.Name))
      Next
      Console.WriteLine(header)
      Console.WriteLine()

      For Each value As String In values
         Console.Write("{0,-17}", value)
         For Each culture As CultureInfo In cultures
            Dim interval As New TimeSpan()
            If TimeSpan.TryParse(value, culture, interval) Then
               Console.Write("{0,20}", interval.ToString("c"))
            Else
               Console.Write("{0,20}", "Unable to Parse")
            End If     
         Next
         Console.WriteLine()                                
      Next
   End Sub
End Module
' The example displays the following output:
'    String                          en-US               ru-RU           Invariant
'    
'    6                          6.00:00:00          6.00:00:00          6.00:00:00
'    6:12                         06:12:00            06:12:00            06:12:00
'    6:12:14                      06:12:14            06:12:14            06:12:14
'    6:12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
'    6.12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
'    6:12:14:45.3448    6.12:14:45.3448000     Unable to Parse  6.12:14:45.3448000
'    6:12:14:45,3448       Unable to Parse  6.12:14:45.3448000     Unable to Parse
'    6:34:14:45            Unable to Parse     Unable to Parse     Unable to Parse

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 4.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 4.0
Windows Phone Silverlight
Disponible desde 7.1
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: