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.Parse (Método) (String, IFormatProvider)

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 especificada.

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

public static TimeSpan Parse(
	string input,
	IFormatProvider formatProvider
)

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.

Valor devuelto

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

ExcepciónCondición
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 parámetro input contiene una especificación de intervalo de tiempo en la estructura:

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

Los elementos entre corchetes ([ and ]) 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

eb

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 valor predeterminado es un carácter de punto (".").

hh

Horas, comprendidas entre 0 y 23.

:

El símbolo separador de hora dependiente de la referencia cultural.

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 valor predeterminado es un carácter de 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 Parse(String) 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

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 en .NET Framework 3.5 y versiones anteriores pueden comportarse de manera diferente a analizar operaciones en .NET Framework 4. En algunos casos, es posible que las operaciones de análisis que eran correctas en .NET Framework 3.5 y en versiones anteriores produzcan una excepción OverflowException en .NET Framework 4. En otros casos, es posible que las operaciones de análisis que producen FormatException en .NET Framework 3.5 y en versiones anteriores no produzcan OverflowException en .NET Framework 4. En el siguiente ejemplo se muestran ambos escenarios.


string[] values = { "000000006", "12.12:12:12.12345678" };
foreach (string value in values)
{
   try {
      TimeSpan interval = TimeSpan.Parse(value);
      Console.WriteLine("{0} --> {1}", value, interval);
   }   
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);
   }
}
// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
//       12.12:12:12.12345678: Bad Format      
// Output from .NET Framework 4:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow


El siguiente ejemplo define una matriz de objetos CultureInfo y usa cada objeto en llamadas al método Parse(String, IFormatProvider) 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;
using System.Text.RegularExpressions;

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)
         {
            try {
               TimeSpan ts = TimeSpan.Parse(value, culture);
               Console.Write("{0,20}", ts.ToString("c"));
            }
            catch (FormatException) {
               Console.Write("{0,20}", "Bad Format");
            }   
            catch (OverflowException) {
               Console.Write("{0,20}", "Overflow");
            }      
         }
         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          Bad Format  6.12:14:45.3448000
//    6:12:14:45,3448            Bad Format  6.12:14:45.3448000          Bad Format
//    6:34:14:45                   Overflow            Overflow            Overflow


.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:
© 2015 Microsoft