Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

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

Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan utilizando 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 static bool TryParse(
	string input,
	IFormatProvider formatProvider,
	out TimeSpan result
)

Parámetros

input
Tipo: System.String
Cadena que especifica el intervalo de tiempo que se va a convertir.
formatProvider
Tipo: System.IFormatProvider
Objeto que proporciona información de formato específica de la referencia cultural.
result
Tipo: 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 finalizó correctamente. Este parámetro se pasa sin inicializar.

Valor devuelto

Tipo: System.Boolean
Es true si input se convirtió correctamente; de lo contrario, es 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 método TryParse(String, IFormatProvider, TimeSpan) es similar al método Parse(String, IFormatProvider), excepto que no produce ninguna excepción si se produce un error de conversión.

El parámetro input contiene una especificación de intervalo de tiempo en la estructura:

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

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

Elemento

Descripción

ws

Espacio en blanco opcional.

-

Un signo menos opcional, que indica un TimeSpan negativo.

d

Días, comprendidos entre 0 y 10675199

.

Un símbolo dependiente de la referencia cultural que se separa los días de las horas. El formato invariable usa un punto (".").

hh

Horas, comprendidas entre 0 y 23.

:

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

mm

Minutos, comprendidos entre 0 y 59.

ss

Segundos opcionales, comprendidos entre 0 y 59.

.

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

ff

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

Los componentes de input deben especificar, en conjunto, un intervalo de tiempo mayor o igual que TimeSpan.MinValue y menor o igual que TimeSpan.MaxValue.

El método TryParse(String, IFormatProvider, TimeSpan) intenta analizar input usando cada uno de los formatos específicos de la referencia cultural de la referencia cultural que especifica formatProvider.

El parámetro formatProvider es una implementación IFormatProvider que proporciona información específica de la referencia cultural sobre el formato de la cadena devuelta. El parámetro formatProvider puede ser uno de los siguientes:

Si formatProvider es null, se usa el objeto DateTimeFormatInfo asociado con la referencia cultural actual.

Notas para los 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 de análisis que son correctas y devuelven true en .NET Framework 3.5 y en versiones anteriores pueden producir errores y devolver false en .NET Framework 4. 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//


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


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values = { "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" };
      CultureInfo[] cultures = { new CultureInfo("en-US"), 
                                 new CultureInfo("ru-RU"),
                                 CultureInfo.InvariantCulture };

      string header = String.Format("{0,-17}", "String");
      foreach (CultureInfo culture in cultures)
         header += culture.Equals(CultureInfo.InvariantCulture) ? 
                      String.Format("{0,20}", "Invariant") :
                      String.Format("{0,20}", culture.Name);

      Console.WriteLine(header);
      Console.WriteLine();

      foreach (string value in values)
      {
         Console.Write("{0,-17}", value);
         foreach (CultureInfo culture in cultures)
         {
            TimeSpan interval = new TimeSpan();
            if (TimeSpan.TryParse(value, culture, out interval))
               Console.Write("{0,20}", interval.ToString("c"));
            else
               Console.Write("{0,20}", "Unable to Parse");
         }
         Console.WriteLine();                                
      }
   }
}
// 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


.NET Framework

Compatible con: 4

.NET Framework Client Profile

Compatible con: 4

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft