Freigeben über


TimeSpan.Parse-Methode

Erstellt ein neues TimeSpan-Objekt aus einem Zeitintervall, das in einer Zeichenfolge angegeben wird.

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

Syntax

'Declaration
Public Shared Function Parse ( _
    s As String _
) As TimeSpan
'Usage
Dim s As String
Dim returnValue As TimeSpan

returnValue = TimeSpan.Parse(s)
public static TimeSpan Parse (
    string s
)
public:
static TimeSpan Parse (
    String^ s
)
public static TimeSpan Parse (
    String s
)
public static function Parse (
    s : String
) : TimeSpan

Parameter

  • s
    Eine Zeichenfolge, die ein Zeitintervall angibt.

Rückgabewert

Eine TimeSpan, die s entspricht.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

s ist NULL (Nothing in Visual Basic).

FormatException

Das Format von s ist ungültig.

OverflowException

s stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.

– oder –

Mindestens eine der Komponenten für Tage, Stunden, Minuten oder Sekunden liegt außerhalb des zulässigen Bereichs.

Hinweise

Der s-Parameter enthält eine Zeitintervallangabe der folgenden Form:

[LR][-]{ T | [T.]hh:mm[:ss[.bb]] }[LR]

Elemente in eckigen Klammern ("[" und "]") sind optional. Eine Auswahl aus der Liste der Alternativen in geschweiften Klammern ("{" und "}") und durch senkrechten Strich ("|") getrennt ist erforderlich. Doppelpunkte und Punkte (":" und ".") sind Literalzeichen und erforderlich. Die anderen Elemente lauten wie folgt:

Element

Beschreibung

LR

optionaler Leerraum

"-"

optionales Minuszeichen, das eine negative TimeSpan angibt

T

Tage, Werte zwischen 0 und 10675199

hh

Stunden, Werte zwischen 0 und 23

mm

Minuten, Werte zwischen 0 und 59

ss

Sekunden, Werte zwischen 0 und 59 (optional)

bb

Bruchteile von Sekunden, 1 bis 7 Dezimalstellen (optional)

Die Komponenten von s müssen zusammen ein Zeitintervall angeben, das größer oder gleich MinValue und kleiner oder gleich MaxValue ist.

Beispiel

Im folgenden Codebeispiel wird die Parse-Methode verwendet, um TimeSpan-Objekte aus gültigen TimeSpan-Zeichenfolgen zu erstellen und bei ungültigen TimeSpan-Zeichenfolgen Ausnahmen auszulösen.

' Example of the TimeSpan.Parse( String ) and TimeSpan.ToString( ) 
' methods.
Imports System
Imports Microsoft.VisualBasic

Module TSParseToStringDemo

    Sub ParseNDisplayTimeSpan( 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.
        Try
            Dim intervalVal As TimeSpan = TimeSpan.Parse( intervalStr )
            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 )

        ' If Parse throws an exception, write the message.
        Catch ex As Exception
            Console.WriteLine( ex.Message )
        End Try
    End Sub 

    Sub Main( )

        Console.WriteLine( _
            "This example of TimeSpan.Parse( String ) and " & _
            vbCrLf & "TimeSpan.ToString( ) " & _
            "generates the following output." & vbCrLf )
        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" )
    End Sub 
End Module 

' 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.
// 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.
*/ 
// Example of the TimeSpan::Parse( String* ) and TimeSpan::ToString( ) 
// methods.
using namespace System;
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 = String::Concat( intervalToStr, "        " );
      Console::WriteLine( "{0,21}", intervalToStr );
   }
   catch ( Exception^ ex ) 
   {
      
      // If Parse throws an exception, write the message.
      Console::WriteLine( ex->Message );
   }

}

int 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.
*/
// Example of the TimeSpan.Parse( string ) and TimeSpan.ToString( ) 
// methods.
import 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 (System.Exception ex) {
            // If Parse throws an exception, write the message.
            Console.WriteLine(ex.get_Message());
        }
    } //ParseNDisplayTimeSpan

    public static void main(String[] args)
    {
        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");
    } //main
} //TSParseToStringDemo

/*
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.
*/

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

TimeSpan-Struktur
TimeSpan-Member
System-Namespace
String-Klasse
ToString