TimeSpan.TryParse Method (String, IFormatProvider, TimeSpan%)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

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.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)


Public Shared Function TryParse ( _
    input As String, _
    formatProvider As IFormatProvider, _
    <OutAttribute> ByRef result As TimeSpan _
) As Boolean
public static bool TryParse(
    string input,
    IFormatProvider formatProvider,
    out TimeSpan result


  • result
    Type: System..::.TimeSpan%
    When this method returns, contains an object that represents the time interval specified by input, or TimeSpan..::.Zero if the conversion failed. This parameter is passed uninitialized.

Return Value

Type: System..::.Boolean
true if input was converted successfully; otherwise, false. This operation returns false if the input parameter is nullNothingnullptra null reference (Nothing in Visual Basic) or String..::.Empty, has an invalid format, represents a time interval that is less than TimeSpan..::.MinValue or greater than TimeSpan..::.MaxValue, or has at least one days, hours, minutes, or seconds component outside its valid range.


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.

The input parameter contains a time interval specification in the form:

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

Elements in square brackets ([ and ]) are optional. One selection from the list of alternatives enclosed in braces ({ and }) and separated by vertical bars (|) is required. The following table describes each element.




Optional white space.


An optional minus sign, which indicates a negative TimeSpan.


Days, ranging from 0 to 10675199.


A culture-sensitive symbol that separates days from hours. The invariant format uses a period (".") character.


Hours, ranging from 0 to 23.


The culture-sensitive time separator symbol. The invariant format uses a colon (":") character.


Minutes, ranging from 0 to 59.


Optional seconds, ranging from 0 to 59.


A culture-sensitive symbol that separates seconds from fractions of a second. The invariant format uses a period (".") character.


Optional fractional seconds, consisting of one to seven decimal digits.

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.

The Parse(String, IFormatProvider) method first tries to parse input by using the invariant format. If this is not successful, it next tries each of the culture-specific formats for the culture specified by formatProvider.

The formatProvider parameter is an IFormatProvider implementation that provides culture-specific information about the format of the returned string. The formatProvider parameter can be any of the following:

If formatProvider is nullNothingnullptra null reference (Nothing in Visual Basic), the DateTimeFormatInfo object that is associated with the current culture is used.

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1


Windows Phone

See Also


TimeSpan Structure

TryParse Overload

System Namespace