TimeSpan.Parse Method
Constructs a new TimeSpan object from a time interval specified in a string.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- s
- Type: System.String
A string that specifies a time interval.
| Exception | Condition |
|---|---|
| ArgumentNullException | s is null. |
| FormatException | s has an invalid format. |
| OverflowException | s represents a number less than MinValue or greater than MaxValue. -or- At least one of the days, hours, minutes, or seconds components is outside its valid range. |
The s parameter contains a time interval specification of the form:
[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]
Items in square brackets ([ and ]) are optional; one selection from the list of alternatives enclosed in braces ({ and }) and separated by vertical bars (|) is required; colons and periods (: and .) are literal characters and required; other items are as follows.
Item | Description |
|---|---|
ws | optional white space |
"-" | optional minus sign indicating a negative TimeSpan |
d | days, ranging from 0 to 10675199 |
hh | hours, ranging from 0 to 23 |
mm | minutes, ranging from 0 to 59 |
ss | optional seconds, ranging from 0 to 59 |
ff | optional fractional seconds, consisting of 1 to 7 decimal digits |
The components of s must collectively specify a time interval greater than or equal to MinValue and less than or equal to MaxValue.
The following code example uses the Parse method to create TimeSpan objects from valid TimeSpan strings and to raise exceptions from invalid TimeSpan strings.
// Example of the TimeSpan.Parse( string ) and TimeSpan.ToString( ) // methods. using System; class TSParseToStringDemo { static void ParseNDisplayTimeSpan( 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. try { TimeSpan intervalVal = TimeSpan.Parse( intervalStr ); 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 ); } catch( Exception ex ) { // If Parse throws an exception, write the message. Console.WriteLine( ex.Message ); } } static void Main( ) { Console.WriteLine( "This example of TimeSpan.Parse( string ) and \n" + "TimeSpan.ToString( ) " + "generates the following output.\n" ); Console.WriteLine( "{0,20} {1,21}", "String to Parse", "TimeSpan or Exception" ); Console.WriteLine( "{0,20} {1,21}", "---------------", "---------------------" ); ParseNDisplayTimeSpan( "0" ); ParseNDisplayTimeSpan( "14" ); ParseNDisplayTimeSpan( "1:2:3" ); ParseNDisplayTimeSpan( "0:0:0.250" ); ParseNDisplayTimeSpan( "10.20:30:40.50" ); ParseNDisplayTimeSpan( "99.23:59:59.9999999" ); ParseNDisplayTimeSpan( "0023:0059:0059.0099" ); ParseNDisplayTimeSpan( "24:0:0" ); ParseNDisplayTimeSpan( "0:60:0" ); ParseNDisplayTimeSpan( "0:0:60" ); ParseNDisplayTimeSpan( "10:" ); ParseNDisplayTimeSpan( ":10" ); ParseNDisplayTimeSpan( "10:20:" ); ParseNDisplayTimeSpan( ".123" ); ParseNDisplayTimeSpan( "10." ); ParseNDisplayTimeSpan( "10.12" ); } } /* This example of TimeSpan.Parse( string ) and TimeSpan.ToString( ) generates the following output. String to Parse TimeSpan or Exception --------------- --------------------- 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 24:0:0 TimeSpan overflowed because the duration is too long. 0:60:0 TimeSpan overflowed because the duration is too long. 0:0:60 TimeSpan overflowed because the duration is too long. 10: Input string was not in a correct format. :10 Input string was not in a correct format. 10:20: Input string was not in a correct format. .123 Input string was not in a correct format. 10. Input string was not in a correct format. 10.12 Input string was not in a correct format. */
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.