TimeSpan.TryParse Método

Definición

Convierte la representación de cadena especificada de un intervalo de tiempo en su equivalente de TimeSpan y devuelve un valor que indica si la conversión se realizó correctamente.Converts the specified string representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

Sobrecargas

TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

Convierte la representación de intervalo de un intervalo de tiempo en su valor TimeSpan equivalente mediante la información de formato específica de la referencia cultural, y devuelve un valor que indica si la conversión se ha realizado correctamente.Converts the span representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, TimeSpan)

Convierte la representación de intervalo de un intervalo de tiempo en su valor TimeSpan equivalente y devuelve un valor que indica si la conversión se ha realizado correctamente.Converts the span representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

TryParse(String, TimeSpan)

Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan y devuelve un valor que indica si la conversión se realizó correctamente.Converts the string representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

TryParse(String, IFormatProvider, TimeSpan)

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.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

Convierte la representación de intervalo de un intervalo de tiempo en su valor TimeSpan equivalente mediante la información de formato específica de la referencia cultural, y devuelve un valor que indica si la conversión se ha realizado correctamente.Converts the span representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParse(ReadOnlySpan<char> input, IFormatProvider ^ formatProvider, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParse (ReadOnlySpan<char> input, IFormatProvider formatProvider, out TimeSpan result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * TimeSpan -> bool
Public Shared Function TryParse (input As ReadOnlySpan(Of Char), formatProvider As IFormatProvider, ByRef result As TimeSpan) As Boolean

Parámetros

input
ReadOnlySpan<Char>

Un intervalo que contiene los caracteres que representan el intervalo de tiempo que se va a convertir.A span containing the characters representing the time interval to convert.

formatProvider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.An object that supplies culture-specific formatting information.

result
TimeSpan

El resultado que devuelve este método contiene un objeto que representa el intervalo de tiempo especificado por input, o Zero si la conversión no se realizó correctamente.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Este parámetro se pasa sin inicializar.This parameter is passed uninitialized.

Devoluciones

true si input se convirtió correctamente; en caso contrario, false.true if input was converted successfully; otherwise, false. Esta operación devuelve false si el parámetro input es null o Empty, tiene un formato no válido, representa un intervalo de tiempo menor que MinValue o mayor que MaxValue, o tiene al menos uno de sus componentes de días, horas, minutos o segundos fuera del intervalo válido.This operation returns false if the input parameter is null or Empty, has an invalid format, represents a time interval that is less than MinValue or greater than MaxValue, or has at least one days, hours, minutes, or seconds component outside its valid range.

TryParse(ReadOnlySpan<Char>, TimeSpan)

Convierte la representación de intervalo de un intervalo de tiempo en su valor TimeSpan equivalente y devuelve un valor que indica si la conversión se ha realizado correctamente.Converts the span representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParse (ReadOnlySpan<char> s, out TimeSpan result);
static member TryParse : ReadOnlySpan<char> * TimeSpan -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As TimeSpan) As Boolean

Parámetros

s
ReadOnlySpan<Char>

Un intervalo que contiene los caracteres que representan el intervalo de tiempo que se va a convertir.A span containing the characters representing the time interval to convert.

result
TimeSpan

El resultado que devuelve este método contiene un objeto que representa el intervalo de tiempo especificado por s, o Zero si la conversión no se realizó correctamente.When this method returns, contains an object that represents the time interval specified by s, or Zero if the conversion failed. Este parámetro se pasa sin inicializar.This parameter is passed uninitialized.

Devoluciones

true si s se convirtió correctamente; en caso contrario, false.true if s was converted successfully; otherwise, false. Esta operación devuelve false si el parámetro s es null o Empty, tiene un formato no válido, representa un intervalo de tiempo menor que MinValue o mayor que MaxValue, o tiene al menos uno de sus componentes de días, horas, minutos o segundos fuera del intervalo válido.This operation returns false if the s parameter is null or Empty, has an invalid format, represents a time interval that is less than MinValue or greater than MaxValue, or has at least one days, hours, minutes, or seconds component outside its valid range.

TryParse(String, TimeSpan)

Convierte la representación de cadena de un intervalo de tiempo en su equivalente de TimeSpan y devuelve un valor que indica si la conversión se realizó correctamente.Converts the string representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParse (string s, out TimeSpan result);
static member TryParse : string * TimeSpan -> bool
Public Shared Function TryParse (s As String, ByRef result As TimeSpan) As Boolean

Parámetros

s
String

Cadena que especifica el intervalo de tiempo que se va a convertir.A string that specifies the time interval to convert.

result
TimeSpan

El resultado que devuelve este método contiene un objeto que representa el intervalo de tiempo especificado por s, o Zero si la conversión no se realizó correctamente.When this method returns, contains an object that represents the time interval specified by s, or Zero if the conversion failed. Este parámetro se pasa sin inicializar.This parameter is passed uninitialized.

Devoluciones

true si s se convirtió correctamente; en caso contrario, false.true if s was converted successfully; otherwise, false. Esta operación devuelve false si el parámetro s es null o Empty, tiene un formato no válido, representa un intervalo de tiempo menor que MinValue o mayor que MaxValue, o tiene al menos uno de sus componentes de días, horas, minutos o segundos fuera del intervalo válido.This operation returns false if the s parameter is null or Empty, has an invalid format, represents a time interval that is less than MinValue or greater than MaxValue, or has at least one days, hours, minutes, or seconds component outside its valid range.

Ejemplos

En el ejemplo siguiente se usa el método TryParse para crear objetos TimeSpan a partir de cadenas TimeSpan válidas e indicar cuándo se ha producido un error en la operación de análisis porque la cadena de intervalo de tiempo no es válida.The following example uses the TryParse method to create TimeSpan objects from valid TimeSpan strings and to indicate when the parse operation has failed because the time span string is invalid.

using System;

public class TryParse
{
   private static void ParseTimeSpan(string intervalStr)
   {
      // Write the first part of the output line.
      Console.Write( "{0,20}   ", intervalStr );

      // Parse the parameter, and then convert it back to a string.
      TimeSpan intervalVal; 
      if (TimeSpan.TryParse(intervalStr, out intervalVal)) 
      {
         string intervalToStr = intervalVal.ToString();
  
         // Pad the end of the TimeSpan string with spaces if it 
         // does not contain milliseconds.
         int pIndex = intervalToStr.IndexOf(':');
         pIndex = intervalToStr.IndexOf('.', pIndex);
         if (pIndex < 0)
            intervalToStr += "        ";
   
         Console.WriteLine("{0,21}", intervalToStr);
         // Handle failure of TryParse method.
      }
      else
      {
         Console.WriteLine("Parse operation failed.");
      }
   } 
   
   public static void Main()
   {
        Console.WriteLine( "{0,20}   {1,21}", 
            "String to Parse", "TimeSpan" );    
        Console.WriteLine( "{0,20}   {1,21}", 
            "---------------", "---------------------" );    

        ParseTimeSpan("0");
        ParseTimeSpan("14");
        ParseTimeSpan("1:2:3");
        ParseTimeSpan("0:0:0.250");
        ParseTimeSpan("10.20:30:40.50");
        ParseTimeSpan("99.23:59:59.9999999");
        ParseTimeSpan("0023:0059:0059.0099");
        ParseTimeSpan("23:0:0");
        ParseTimeSpan("24:0:0");
        ParseTimeSpan("0:59:0");
        ParseTimeSpan("0:60:0");
        ParseTimeSpan("0:0:59");
        ParseTimeSpan("0:0:60");
        ParseTimeSpan("10:");
        ParseTimeSpan("10:0");
        ParseTimeSpan(":10");
        ParseTimeSpan("0:10");
        ParseTimeSpan("10:20:");
        ParseTimeSpan("10:20:0");
        ParseTimeSpan(".123");
        ParseTimeSpan("0.12:00");
        ParseTimeSpan("10.");
        ParseTimeSpan("10.12");
        ParseTimeSpan("10.12:00");
   }
}
//            String to Parse                TimeSpan
//            ---------------   ---------------------
//                          0        00:00:00
//                         14     14.00:00:00
//                      1:2:3        01:02:03
//                  0:0:0.250        00:00:00.2500000
//             10.20:30:40.50     10.20:30:40.5000000
//        99.23:59:59.9999999     99.23:59:59.9999999
//        0023:0059:0059.0099        23:59:59.0099000
//                     23:0:0        23:00:00
//                     24:0:0   Parse operation failed.
//                     0:59:0        00:59:00
//                     0:60:0   Parse operation failed.
//                     0:0:59        00:00:59
//                     0:0:60   Parse operation failed.
//                        10:   Parse operation failed.
//                       10:0        10:00:00
//                        :10   Parse operation failed.
//                       0:10        00:10:00
//                     10:20:   Parse operation failed.
//                    10:20:0        10:20:00
//                       .123   Parse operation failed.
//                    0.12:00        12:00:00
//                        10.   Parse operation failed.
//                      10.12   Parse operation failed.
//                   10.12:00     10.12:00:00
Module TryParse
    Sub ParseTimeSpan( intervalStr As String )
        ' Write the first part of the output line.
        Console.Write( "{0,20}   ", intervalStr )

        ' Parse the parameter, and then convert it back to a string.
         Dim intervalVal As TimeSpan 
         If TimeSpan.TryParse( intervalStr, intervalVal ) Then
            Dim intervalToStr As String = intervalVal.ToString( )
   
            ' Pad the end of the TimeSpan string with spaces if it 
            ' does not contain milliseconds.
            Dim pIndex As Integer = intervalToStr.IndexOf( ":"c )
            pIndex = intervalToStr.IndexOf( "."c, pIndex )
            If pIndex < 0 Then   intervalToStr &= "        "
   
            Console.WriteLine( "{0,21}", intervalToStr )
         ' Handle failure of TryParse method.
         Else
            Console.WriteLine("Parse operation failed.")
        End If
    End Sub 

    Public Sub Main( )
        Console.WriteLine( "{0,20}   {1,21}", _
            "String to Parse", "TimeSpan" )    
        Console.WriteLine( "{0,20}   {1,21}", _
            "---------------", "---------------------" )    

        ParseTimeSpan("0")
        ParseTimeSpan("14")
        ParseTimeSpan("1:2:3")
        ParseTimeSpan("0:0:0.250")
        ParseTimeSpan("10.20:30:40.50")
        ParseTimeSpan("99.23:59:59.9999999")
        ParseTimeSpan("0023:0059:0059.0099")
        ParseTimeSpan("23:0:0")
        ParseTimeSpan("24:0:0")
        ParseTimespan("0:59:0")
        ParseTimeSpan("0:60:0")
        ParseTimespan("0:0:59")
        ParseTimeSpan("0:0:60")
        ParseTimeSpan("10:")
        ParsetimeSpan("10:0")
        ParseTimeSpan(":10")
        ParseTimeSpan("0:10")
        ParseTimeSpan("10:20:")
        ParseTimeSpan("10:20:0")
        ParseTimeSpan(".123")
        ParseTimeSpan("0.12:00")
        ParseTimeSpan("10.")
        ParseTimeSpan("10.12")
        ParseTimeSpan("10.12:00")
    End Sub 
End Module 
' This example generates the following output:
'            String to Parse                TimeSpan
'            ---------------   ---------------------
'                          0        00:00:00
'                         14     14.00:00:00
'                      1:2:3        01:02:03
'                  0:0:0.250        00:00:00.2500000
'             10.20:30:40.50     10.20:30:40.5000000
'        99.23:59:59.9999999     99.23:59:59.9999999
'        0023:0059:0059.0099        23:59:59.0099000
'                     23:0:0        23:00:00
'                     24:0:0   Parse operation failed.
'                     0:59:0        00:59:00
'                     0:60:0   Parse operation failed.
'                     0:0:59        00:00:59
'                     0:0:60   Parse operation failed.
'                        10:   Parse operation failed.
'                       10:0        10:00:00
'                        :10   Parse operation failed.
'                       0:10        00:10:00
'                     10:20:   Parse operation failed.
'                    10:20:0        10:20:00
'                       .123   Parse operation failed.
'                    0.12:00        12:00:00
'                        10.   Parse operation failed.
'                      10.12   Parse operation failed.
'                   10.12:00     10.12:00:00

Comentarios

El método TryParse es como el método TimeSpan.Parse(String), salvo que no inicia una excepción si se produce un error en la conversión.The TryParse method is like the TimeSpan.Parse(String) method, except that it does not throw an exception if the conversion fails.

El parámetro s contiene una especificación de intervalo de tiempo con el formato:The s parameter contains a time interval specification in the form:

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

Los elementos de los corchetes ([ y ]) son opcionales.Elements in square brackets ([ and ]) are optional. Se requiere una selección de la lista de alternativas entre llaves ({y}) y separadas por barras verticales (|).One selection from the list of alternatives enclosed in braces ({ and }) and separated by vertical bars (|) is required. En esta tabla se describe cada elemento.The following table describes each element.

ElementoElement DescripciónDescription
wsws Espacio en blanco opcional.Optional white space.
- Signo menos opcional, que indica un TimeSpannegativo.An optional minus sign, which indicates a negative TimeSpan.
dd Días, entre 0 y 10675199.Days, ranging from 0 to 10675199.
.. Un símbolo que tiene en cuenta la referencia cultural y que separa los días de las horas.A culture-sensitive symbol that separates days from hours. El formato invariable utiliza un carácter de punto (".").The invariant format uses a period (".") character.
hhhh Horas, entre 0 y 23.Hours, ranging from 0 to 23.
:: Símbolo del separador de hora que tiene en cuenta la referencia cultural.The culture-sensitive time separator symbol. El formato invariable utiliza un carácter de dos puntos (":").The invariant format uses a colon (":") character.
mmmm Minutos, entre 0 y 59.Minutes, ranging from 0 to 59.
ssss Segundos opcionales, comprendidos entre 0 y 59.Optional seconds, ranging from 0 to 59.
.. Símbolo que tiene en cuenta la referencia cultural y que separa los segundos de las fracciones de segundo.A culture-sensitive symbol that separates seconds from fractions of a second. El formato invariable utiliza un carácter de punto (".").The invariant format uses a period (".") character.
ffff Fracciones de segundo opcionales, que se componen de uno a siete dígitos decimales.Optional fractional seconds, consisting of one to seven decimal digits.

Los componentes de s deben especificar colectivamente un intervalo de tiempo mayor o igual que TimeSpan.MinValue y menor o igual que TimeSpan.MaxValue.The components of s must collectively specify a time interval that is greater than or equal to TimeSpan.MinValue and less than or equal to TimeSpan.MaxValue.

El método Parse(String) intenta analizar s utilizando cada uno de los formatos específicos de la referencia cultural para la referencia cultural actual.The Parse(String) method tries to parse s by using each of the culture-specific formats for the current culture.

Notas a los autores de llamadasNotes to callers

En algunos casos, cuando un componente de intervalo de tiempo de la cadena que se va a analizar contiene más de siete dígitos, puede producirse un error en las operaciones de análisis que se realizaron correctamente en el .NET Framework 3,5 y versiones anteriores, e iniciar una OverflowException en la .NET Framework 4 y versiones posteriores.In some cases, when a time interval component in the string to be parsed contains more than seven digits, parsing operations that succeed in the .NET Framework 3.5 and earlier versions may fail and throw an OverflowException in the .NET Framework 4 and later versions. En el ejemplo siguiente se muestra este escenario.The following example illustrates this scenario.

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//
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'

TryParse(String, IFormatProvider, TimeSpan)

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.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParse(System::String ^ input, IFormatProvider ^ formatProvider, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParse (string input, IFormatProvider formatProvider, out TimeSpan result);
static member TryParse : string * IFormatProvider * TimeSpan -> bool
Public Shared Function TryParse (input As String, formatProvider As IFormatProvider, ByRef result As TimeSpan) As Boolean

Parámetros

input
String

Cadena que especifica el intervalo de tiempo que se va a convertir.A string that specifies the time interval to convert.

formatProvider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.An object that supplies culture-specific formatting information.

result
TimeSpan

El resultado que devuelve este método contiene un objeto que representa el intervalo de tiempo especificado por input, o Zero si la conversión no se realizó correctamente.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Este parámetro se pasa sin inicializar.This parameter is passed uninitialized.

Devoluciones

true si input se convirtió correctamente; en caso contrario, false.true if input was converted successfully; otherwise, false. Esta operación devuelve false si el parámetro input es null o Empty, tiene un formato no válido, representa un intervalo de tiempo menor que MinValue o mayor que MaxValue, o tiene al menos uno de sus componentes de días, horas, minutos o segundos fuera del intervalo válido.This operation returns false if the input parameter is null or Empty, has an invalid format, represents a time interval that is less than MinValue or greater than MaxValue, or has at least one days, hours, minutes, or seconds component outside its valid range.

Ejemplos

En el ejemplo siguiente se define una matriz de objetos CultureInfo y se usa cada objeto en las llamadas al método TryParse(String, IFormatProvider, TimeSpan) para analizar los elementos de una matriz de cadenas.The following example defines an array of CultureInfo objects, and uses each object in calls to the TryParse(String, IFormatProvider, TimeSpan) method to parse the elements in a string array. En el ejemplo se muestra cómo las convenciones de una referencia cultural específica influyen en la operación de formato.The example illustrates how the conventions of a specific culture influence the formatting operation.

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

Comentarios

El método TryParse(String, IFormatProvider, TimeSpan) es como el método Parse(String, IFormatProvider), salvo que no inicia una excepción si se produce un error en la conversión.The TryParse(String, IFormatProvider, TimeSpan) method is like the Parse(String, IFormatProvider) method, except that it does not throw an exception if the conversion fails.

El parámetro input contiene una especificación de intervalo de tiempo con el formato:The input parameter contains a time interval specification in the form:

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

Los elementos de los corchetes ([ y ]) son opcionales.Elements in square brackets ([ and ]) are optional. Se requiere una selección de la lista de alternativas entre llaves ({y}) y separadas por barras verticales (|).One selection from the list of alternatives enclosed in braces ({ and }) and separated by vertical bars (|) is required. En esta tabla se describe cada elemento.The following table describes each element.

ElementoElement DescripciónDescription
wsws Espacio en blanco opcional.Optional white space.
- Signo menos opcional, que indica un TimeSpannegativo.An optional minus sign, which indicates a negative TimeSpan.
dd Días, entre 0 y 10675199.Days, ranging from 0 to 10675199.
.. Un símbolo que tiene en cuenta la referencia cultural y que separa los días de las horas.A culture-sensitive symbol that separates days from hours. El formato invariable utiliza un carácter de punto (".").The invariant format uses a period (".") character.
hhhh Horas, entre 0 y 23.Hours, ranging from 0 to 23.
:: Símbolo del separador de hora que tiene en cuenta la referencia cultural.The culture-sensitive time separator symbol. El formato invariable utiliza un carácter de dos puntos (":").The invariant format uses a colon (":") character.
mmmm Minutos, entre 0 y 59.Minutes, ranging from 0 to 59.
ssss Segundos opcionales, comprendidos entre 0 y 59.Optional seconds, ranging from 0 to 59.
.. Símbolo que tiene en cuenta la referencia cultural y que separa los segundos de las fracciones de segundo.A culture-sensitive symbol that separates seconds from fractions of a second. El formato invariable utiliza un carácter de punto (".").The invariant format uses a period (".") character.
ffff Fracciones de segundo opcionales, que se componen de uno a siete dígitos decimales.Optional fractional seconds, consisting of one to seven decimal digits.

Los componentes de input deben especificar colectivamente un intervalo de tiempo mayor o igual que TimeSpan.MinValue y menor o igual que TimeSpan.MaxValue.The components of input must collectively specify a time interval that is greater than or equal to TimeSpan.MinValue and less than or equal to TimeSpan.MaxValue.

El método TryParse(String, IFormatProvider, TimeSpan) intenta analizar input utilizando cada uno de los formatos específicos de la referencia cultural para la referencia cultural especificada por formatProvider.The TryParse(String, IFormatProvider, TimeSpan) method tries to parse input by using each of the culture-specific formats for the culture specified by formatProvider.

El parámetro formatProvider es una implementación de IFormatProvider que proporciona información específica de la referencia cultural sobre el formato de la cadena devuelta.The formatProvider parameter is an IFormatProvider implementation that provides culture-specific information about the format of the returned string. El parámetro formatProvider puede ser cualquiera de los siguientes:The formatProvider parameter can be any of the following:

Si formatProvider es null, se utiliza el objeto de DateTimeFormatInfo asociado a la referencia cultural actual.If formatProvider is null, the DateTimeFormatInfo object that is associated with the current culture is used.

Notas a los autores de llamadasNotes to callers

En algunos casos, cuando un componente de intervalo de tiempo de la cadena que se va a analizar contiene más de siete dígitos, las operaciones de análisis que se realizan correctamente y devuelven en el .NET Framework 3,5 y versiones anteriores pueden producir un error y devolver en the.NET Framework 4 y versiones posteriores en el ejemplo siguiente se muestra este escenario.In some cases, when a time interval component in the string to be parsed contains more than seven digits, parsing operations that succeed and return in the .NET Framework 3.5 and earlier versions may fail and return in the.NET Framework 4 and later versions, The following example illustrates this scenario.

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//
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'

Se aplica a