Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

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

Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan utilizando el formato y la información de formato específica de la referencia cultural especificados, y devuelve un valor que indica si la conversión se realizó correctamente. El formato de la representación de cadena debe coincidir exactamente con el formato especificado.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)
public static bool TryParseExact(
	string input,
	string format,
	IFormatProvider formatProvider,
	out TimeSpan result
)

Parámetros

input
Tipo: System.String
Cadena que especifica el intervalo de tiempo que se va a convertir.
format
Tipo: System.String
Cadena de formato estándar o personalizado que define el formato requerido de input.
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.

El método TryParseExact(String, String, IFormatProvider, TimeSpan) analiza la representación de cadena de un intervalo de tiempo, que debe estar en el formato definido por el parámetro format, sólo que se omiten los caracteres de espacio en blanco iniciales y finales. Este método es similar al método ParseExact(String, String, IFormatProvider), salvo en que no produce una excepción si se genera un error de conversión.

El parámetro format es una cadena que contiene un solo especificador de formato estándar, o bien, uno o varios especificadores de formato personalizados que definen el formato necesario de input. Para obtener más información sobre cadenas de formato válidos, vea Cadenas de formato TimeSpan estándar y Cadenas de formato TimeSpan personalizado.

Nota importanteImportante

El método TryParseExact(String, String, IFormatProvider, TimeSpan) usa las convenciones de la referencia cultural especificadas por el parámetro formatProvider solo si format es una cadena de formato TimeSpan estándar cuyo valor es "g" o "G". Las cadenas de formato estándar "c", "t" y "T" usan las convenciones de formato de la referencia cultural de todos los idiomas. Las cadenas con formato personalizado definen el formato preciso de la cadena de entrada y usan los caracteres literales para separar los componentes de un intervalo de tiempo.

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 si format es una cadena de formato estándar. 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.

En el ejemplo siguiente se usa el método TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan) para analizar varias representaciones de intervalos de tiempo usando varias cadenas de formato y referencias culturales.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string intervalString, format;
      TimeSpan interval;
      CultureInfo culture;

      // Parse hour:minute value with "g" specifier current culture.
      intervalString = "17:14";
      format = "g";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse hour:minute:second value with "G" specifier.
      intervalString = "17:14:48";
      format = "G";
      culture = CultureInfo.InvariantCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse hours:minute.second value with "G" specifier 
      // and current (en-US) culture.     
      intervalString = "17:14:48.153";
      format = "G";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse days:hours:minute.second value with "G" specifier 
      // and current (en-US) culture.     
      intervalString = "3:17:14:48.153";
      format = "G";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse days:hours:minute.second value with "G" specifier 
      // and fr-FR culture.     
      intervalString = "3:17:14:48.153";
      format = "G";
      culture = new CultureInfo("fr-FR");
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse days:hours:minute.second value with "G" specifier 
      // and fr-FR culture.     
      intervalString = "3:17:14:48,153";
      format = "G";
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse a single number using the "c" standard format string. 
      intervalString = "12";
      format = "c";
      if (TimeSpan.TryParseExact(intervalString, format, null, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse a single number using the "%h" custom format string. 
      format = "%h";
      if (TimeSpan.TryParseExact(intervalString, format, null, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse a single number using the "%s" custom format string. 
      format = "%s";
      if (TimeSpan.TryParseExact(intervalString, format, null, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);
   }
}
// The example displays the following output:
//       '17:14' --> 17:14:00
//       Unable to parse 17:14:48
//       Unable to parse 17:14:48.153
//       '3:17:14:48.153' --> 3.17:14:48.1530000
//       Unable to parse 3:17:14:48.153
//       '3:17:14:48,153' --> 3.17:14:48.1530000
//       '12' --> 12.00:00:00
//       '12' --> 12:00:00
//       '12' --> 00:00:12


.NET Framework

Compatible con: 4.5, 4

.NET Framework Client Profile

Compatible con: 4

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.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.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.