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

TimeSpan.ParseExact (Método) (String, String[], IFormatProvider, TimeSpanStyles)

Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan, utilizando los formatos, los estilos y la información de formato específica de la referencia cultural especificados. El formato de la representación de cadena debe coincidir exactamente con uno de los formatos especificados.

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

public static TimeSpan ParseExact(
	string input,
	string[] formats,
	IFormatProvider formatProvider,
	TimeSpanStyles styles
)

Parámetros

input
Tipo: System.String
Cadena que especifica el intervalo de tiempo que se va a convertir.
formats
Tipo: System.String[]
Matriz de cadenas de formato estándar o personalizado que definen el formato requerido de input.
formatProvider
Tipo: System.IFormatProvider
Un objeto que proporciona información de formato específica de la referencia cultural.
styles
Tipo: System.Globalization.TimeSpanStyles
Combinación bit a bit de valores de enumeración que define los elementos de estilo que pueden estar presentes en la entrada.

Valor devuelto

Tipo: System.TimeSpan
Intervalo de tiempo que corresponde a input de acuerdo con lo especificado por formats, formatProvider y styles.

ExcepciónCondición
ArgumentException

styles es un valor de TimeSpanStyles no válido.

ArgumentNullException

input es null.

FormatException

input tiene un formato no válido.

OverflowException

input representa un número menor que TimeSpan.MinValue o mayor que TimeSpan.MaxValue.

O bien

Al menos uno de los componentes de días, horas, minutos o segundos de input está fuera de su intervalo válido.

El método ParseExact(String, String[], IFormatProvider, TimeSpanStyles) analiza la representación de cadena de un intervalo de tiempo, que debe estar en uno de los formatos definidos por el parámetro formats, sólo que se omiten los caracteres de espacio en blanco iniciales y finales. Dado que input debe coincidir exactamente con uno de los formatos especificados en formats, siempre debería usar el control de excepciones al convertir una cadena especificada por el usuario en un intervalo de tiempo. Si prefiere no usar el control de excepciones, puede llamar al método TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan).

El parámetro formats es una matriz de cadena cuyos elementos constan de un especificador de formato estándar único, o bien de uno o más especificadores de formato personalizados que definen el formato requerido 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. input debe corresponder exactamente a un miembro de formats para que la operación de análisis tenga éxito. La operación del análisis intenta hacer coincidir input con cada elemento formats empezando por el primer elemento en la matriz.

Nota importanteImportante

El método ParseExact usa las convenciones de la referencia cultural especificadas por el parámetro formatProvider solo si la cadena de formato usada para analizar input 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 la cadena usada para analizar input 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.

El parámetro styles afecta a la interpretación de cadenas analizadas usando las cadenas con formato personalizado. Determina si input se interpreta como un intervalo de tiempo negativo solo si aparece un signo negativo (TimeSpanStyles.None), o si siempre se interpreta como un intervalo de tiempo negativo (TimeSpanStyles.AssumeNegative). Si no se usa TimeSpanStyles.AssumeNegative, format debe incluir un símbolo de signo negativo literal (como "\-") para analizar un intervalo de tiempo negativo correctamente.

En el ejemplo siguiente se llama al método ParseExact(String, String[], IFormatProvider, TimeSpanStyles) para convertir cada elemento de una cadena en un valor TimeSpan. Las cadenas pueden representar un intervalo de tiempo en el formato corto general o en el formato largo general.

Además, el ejemplo cambia la manera en la que el intervalo de tiempo que analiza los métodos interpreta un dígito único. Generalmente, un dígito único se interpreta como el número de días en un intervalo de tiempo. En su lugar, la cadena con formato personalizado %h se usa para interpretar un dígito único como el número de horas. Para que este cambio sea efectivo, observe que la cadena con formato personalizado %h debe preceder las otras cadenas de formato en la matriz formats. También observe del resultado que solo se usa la marca TimeSpanStyles.AssumeNegative especificada en la llamada al método al analizar una cadena con este especificador de formato.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] inputs = { "3", "16:42", "1:6:52:35.0625", 
                          "1:6:52:35,0625" }; 
      string[] formats = { "%h", "g", "G" };
      TimeSpan interval;
      CultureInfo culture = new CultureInfo("de-DE");

      // Parse each string in inputs using formats and the de-DE culture.
      foreach (string input in inputs) {
         try {
            interval = TimeSpan.ParseExact(input, formats, culture,
                                           TimeSpanStyles.AssumeNegative);
            Console.WriteLine("{0} --> {1:c}", input, interval);
         }
         catch (FormatException) {
            Console.WriteLine("{0} --> Bad Format", input);
         }      
         catch (OverflowException) {
            Console.WriteLine("{0} --> Overflow", input);   
         }            
      }
   }
}
// The example displays the following output:
//       3 --> -03:00:00
//       16:42 --> 16:42:00
//       1:6:52:35.0625 --> Bad Format
//       1:6:52:35,0625 --> 1.06:52:35.0625000


.NET Framework

Compatible con: 4.5.2, 4.5.1, 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

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft