TimeSpan.Parse 메서드

정의

시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다.

오버로드

Parse(String)

시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다.

Parse(ReadOnlySpan<Char>, IFormatProvider)

지정된 문화권별 형식 정보를 사용하여 시간 간격에 대한 범위 표현을 해당 TimeSpan으로 변환합니다.

Parse(String, IFormatProvider)

지정된 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다.

Parse(String)

시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다.

public:
 static TimeSpan Parse(System::String ^ s);
public static TimeSpan Parse (string s);
static member Parse : string -> TimeSpan
Public Shared Function Parse (s As String) As TimeSpan

매개 변수

s
String

변환할 시간 간격을 지정하는 문자열입니다.

반환

TimeSpan

s에 해당하는 시간 간격입니다.

예외

s이(가) null인 경우.

s의 형식이 잘못된 경우.

s은(는) MinValue보다 작거나 MaxValue보다 큰 숫자를 나타냅니다.

또는 일, 시, 분 또는 초 구성 요소 중 적어도 하나가 유효 범위를 벗어난 경우.

예제

다음 예제에서는 메서드를 Parse 사용하여 문자열 배열의 각 요소를 값으로 TimeSpan 변환합니다. 현재 시스템 문화가 구문 분석 작업에 미치는 영향을 설명하기 위해 현재 시스템 문화를 크로아티아어("hr-HR") 및 영어 -미국("en-US")로 변경합니다.

using System;
using System.Globalization;
using System.Threading;

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" };
      string[] cultureNames = { "hr-HR", "en-US"};
      
      // Change the current culture.
      foreach (string cultureName in cultureNames)
      {
         Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName);
         Console.WriteLine("Current Culture: {0}", 
                           Thread.CurrentThread.CurrentCulture.Name);
         foreach (string value in values)
         {
            try {
               TimeSpan ts = TimeSpan.Parse(value);
               Console.WriteLine("{0} --> {1}", value, ts.ToString("c"));
            }
            catch (FormatException) {
               Console.WriteLine("{0}: Bad Format", value);
            }   
            catch (OverflowException) {
               Console.WriteLine("{0}: Overflow", value);
            }
         } 
         Console.WriteLine();                                
      }
   }
}
// The example displays the following output:
//    Current Culture: hr-HR
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6: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.3448: Bad Format
//    6:12:14:45,3448 --> 6.12:14:45.3448000
//    6:34:14:45: Overflow
//    
//    Current Culture: en-US
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6: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.3448 --> 6.12:14:45.3448000
//    6:12:14:45,3448: Bad Format
//    6:34:14:45: Overflow
open System
open System.Globalization
open System.Threading

let 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" |]
let cultureNames = [| "hr-HR"; "en-US" |]

// Change the current culture.
for cultureName in cultureNames do
    Thread.CurrentThread.CurrentCulture <- CultureInfo cultureName
    printfn $"Current Culture: {Thread.CurrentThread.CurrentCulture.Name}" 
    for value in values do
        try 
            let ts = TimeSpan.Parse value
            printfn $"{value} --> {ts:c}"
        with 
        | :? FormatException ->
            printfn $"{value}: Bad Format"
        | :? OverflowException ->
            printfn $"{value}: Overflow"
    printfn ""                                
// The example displays the following output:
//    Current Culture: hr-HR
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6: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.3448: Bad Format
//    6:12:14:45,3448 --> 6.12:14:45.3448000
//    6:34:14:45: Overflow
//    
//    Current Culture: en-US
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6: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.3448 --> 6.12:14:45.3448000
//    6:12:14:45,3448: Bad Format
//    6:34:14:45: Overflow
Imports System.Globalization
Imports System.Threading

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 cultureNames() As String = { "hr-HR", "en-US"}
      
      ' Change the current culture.
      For Each cultureName As String In cultureNames
         Thread.CurrentThread.CurrentCulture = New CultureInfo(cultureName)
         Console.WriteLine("Current Culture: {0}", 
                           Thread.CurrentThread.CurrentCulture.Name)
         For Each value As String In values
            Try
               Dim ts As TimeSpan = TimeSpan.Parse(value)
               Console.WriteLine("{0} --> {1}", value, ts.ToString("c"))
            Catch e As FormatException
               Console.WriteLine("{0}: Bad Format", value)
            Catch e As OverflowException
               Console.WriteLine("{0}: Overflow", value)
            End Try      
         Next 
         Console.WriteLine()                                
      Next
   End Sub
End Module
' The example displays the following output:
'       Current Culture: hr-HR
'       6 --> 6.00:00:00
'       6:12 --> 06:12:00
'       6: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.3448: Bad Format
'       6:12:14:45,3448 --> 6.12:14:45.3448000
'       6:34:14:45: Overflow
'       
'       Current Culture: en-US
'       6 --> 6.00:00:00
'       6:12 --> 06:12:00
'       6: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.3448 --> 6.12:14:45.3448000
'       6:12:14:45,3448: Bad Format
'       6:34:14:45: Overflow

설명

매개 변수에는 s 다음과 같은 형식의 시간 간격 사양이 포함됩니다.

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

대괄호 ([ 및 ]) 안의 요소는 선택적 요소입니다. 중괄호({ 및 })로 묶고 세로 막대(|)로 구분된 대체 항목 목록에서 선택해야 합니다. 다음 표에서는 각 요소에 대해 설명합니다.

요소 설명
ws 선택적 공백입니다.
- TimeSpan수 기호를 나타내는 선택적 빼기 기호입니다.
d 0에서 10675199 사이의 일입니다.
. 일과 시간을 구분하는 문화권 구분 기호입니다. 고정 형식은 마침표(".") 문자를 사용합니다.
hh 0에서 23까지의 시간입니다.
: 문화권에 민감한 시간 구분 기호입니다. 고정 형식은 콜론(":") 문자를 사용합니다.
MM 분( 0에서 59까지)
ss 0에서 59 사이의 선택적 초입니다.
. 초를 초의 분수와 구분하는 문화권 구분 기호입니다. 고정 형식은 마침표(".") 문자를 사용합니다.
Ff 로 1~7자리 숫자로 구성된 선택적 소수 자릿수 초입니다.

인수가 s 일 값만 아닌 경우 시간 및 분 구성 요소를 포함해야 합니다. 다른 구성 요소는 선택 사항입니다. 이 값이 있는 경우 각 시간 구성 요소의 값은 지정된 범위 내에 있어야 합니다. 예를 들어 시간 구성 요소인 hh 값은 0에서 23 사이여야 합니다. 이 때문에 메서드에 "23:00:00"을 Parse 전달하면 23시간의 시간 간격이 반환됩니다. 반면에 "24:00:00"을 전달하면 24일의 시간 간격이 반환됩니다. "24"는 시간 구성 요소 범위를 벗어나므로 일 구성 요소로 해석됩니다.

구성 요소는 s 집합적으로 보다 크거나 같 TimeSpan.MinValue 고 보다 작거나 같은 시간 간격을 TimeSpan.MaxValue지정해야 합니다.

이 메서드는 Parse(String) 현재 문화권 s 에 대한 각 문화권별 형식을 사용하여 구문 분석을 시도합니다.

발신자에 대한 참고 사항

구문 분석할 문자열의 시간 간격 구성 요소가 7자리를 초과하는 경우 .NET Framework 3.5 이전 버전의 구문 분석 작업은 .NET Framework 4 이상 버전의 구문 분석 작업과 다르게 동작할 수 있습니다. 경우에 따라 .NET Framework 3.5 및 이전 버전에서 성공한 구문 분석 작업이 실패하고 .NET Framework 4 이상 버전에서 throw OverflowException 할 수 있습니다. 다른 경우에는 .NET Framework 3.5 및 이전 버전에서 throw FormatException 하는 구문 분석 작업이 실패하고 .NET Framework 4 이상 버전에서 throw OverflowException 할 수 있습니다. 다음 예제에서는 두 시나리오를 모두 보여 줍니다.

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 and later versions or .NET Core:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow
open System

let values = [| "000000006"; "12.12:12:12.12345678" |]
for value in values do
    try
        let interval = TimeSpan.Parse value
        printfn $"{value} --> {interval}"   
    with
    | :? FormatException ->
        printfn $"{value}: Bad Format"
    | :? OverflowException ->
        printfn $"{value}: Overflow"

// 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 and later versions or .NET Core:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow
Dim values() As String = { "000000006", "12.12:12:12.12345678" }
For Each value As String In values
   Try
      Dim interval As TimeSpan = TimeSpan.Parse(value)
      Console.WriteLine("{0} --> {1}", value, interval)
   Catch e As FormatException
      Console.WriteLine("{0}: Bad Format", value)
   Catch e As OverflowException
      Console.WriteLine("{0}: Overflow", value)
   End Try         
Next
' 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

적용 대상

Parse(ReadOnlySpan<Char>, IFormatProvider)

지정된 문화권별 형식 정보를 사용하여 시간 간격에 대한 범위 표현을 해당 TimeSpan으로 변환합니다.

public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider? formatProvider = default);
public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider formatProvider = default);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> TimeSpan
Public Shared Function Parse (input As ReadOnlySpan(Of Char), Optional formatProvider As IFormatProvider = Nothing) As TimeSpan

매개 변수

input
ReadOnlySpan<Char>

변환할 시간 간격을 나타내는 문자를 포함하는 범위입니다.

formatProvider
IFormatProvider

문화권별 형식 정보를 제공하는 개체입니다.

반환

TimeSpan

input에서 지정한 formatProvider에 해당하는 시간 간격입니다.

구현

적용 대상

Parse(String, IFormatProvider)

지정된 문화권별 형식 정보를 사용하여 시간 간격에 대한 문자열 표현을 해당 TimeSpan으로 변환합니다.

public:
 static TimeSpan Parse(System::String ^ input, IFormatProvider ^ formatProvider);
public static TimeSpan Parse (string input, IFormatProvider formatProvider);
public static TimeSpan Parse (string input, IFormatProvider? formatProvider);
static member Parse : string * IFormatProvider -> TimeSpan
Public Shared Function Parse (input As String, formatProvider As IFormatProvider) As TimeSpan

매개 변수

input
String

변환할 시간 간격을 지정하는 문자열입니다.

formatProvider
IFormatProvider

문화권별 형식 정보를 제공하는 개체입니다.

반환

TimeSpan

input에서 지정한 formatProvider에 해당하는 시간 간격입니다.

구현

예외

input이(가) null인 경우.

input의 형식이 잘못된 경우.

input은(는) MinValue보다 작거나 MaxValue보다 큰 숫자를 나타냅니다.

또는 input의 일, 시, 분 또는 초 구성 요소 중 하나 이상이 유효 범위를 벗어난 경우.

예제

다음 예제에서는 개체 배열 CultureInfo 을 정의하고 메서드 호출에서 각 개체를 Parse(String, IFormatProvider) 사용하여 문자열 배열의 요소를 구문 분석합니다. 이 예제에서는 특정 문화권의 규칙이 서식 지정 작업에 미치는 영향을 보여 줍니다.

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
open System
open System.Globalization
open System.Text.RegularExpressions

let 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" |]
let cultures = 
    [| CultureInfo "en-US" 
       CultureInfo "ru-RU"
       CultureInfo.InvariantCulture |]

let mutable header = $"""{"String",-17}"""
for culture in cultures do
    header <- header +
        if culture.Equals CultureInfo.InvariantCulture then 
            $"""{"Invariant",20}"""
        else
            $"{culture.Name,20}"
printfn $"{header}\m"

for value in values do
    printf $"{value,-17}"
    for culture in cultures do
        try
            let ts = TimeSpan.Parse(value, culture)
            printf $"{ts,20:c}"
        with
        | :? FormatException ->
            printf $"""{"Bad Format",20}"""
        | :? OverflowException ->
            printf $"""{"Overflow",20}"""
    printfn ""                      
// 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
Imports System.Globalization
Imports System.Threading

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
            Try
               Dim ts As TimeSpan = TimeSpan.Parse(value, culture)
               Console.Write("{0,20}", ts.ToString("c"))
            Catch e As FormatException
               Console.Write("{0,20}", "Bad Format")
            Catch e As OverflowException
               Console.Write("{0,20}", "Overflow")
            End Try      
         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          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

설명

매개 변수에는 input 다음과 같은 형식의 시간 간격 사양이 포함되어 있습니다.

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

대괄호([ 및 ])의 요소는 선택 사항입니다. 중괄호({ 및 })로 묶이고 세로 막대(|)로 구분된 대체 항목 목록에서 하나를 선택해야 합니다. 다음 표에서는 각 요소에 대해 설명합니다.

요소 설명
ws 선택적 공백입니다.
- TimeSpan수를 나타내는 선택적 빼기 기호입니다.
d 0에서 10675199 사이의 일입니다.
. 일과 시간을 구분하는 문화권 구분 기호입니다. 기본값은 마침표(".") 문자입니다.
hh 0에서 23 사이의 시간.
: 문화권에 민감한 시간 구분 기호입니다.
MM 분(0에서 59까지)
ss 0에서 59 사이의 선택적 초입니다.
. 초를 초의 분수와 구분하는 문화권 구분 기호입니다. 기본값은 마침표(".") 문자입니다.
Ff 로 1~7자리 숫자로 구성된 선택적 소수 자릿수 초입니다.

인수가 input 일 값만 아닌 경우 시간 및 분 구성 요소를 포함해야 합니다. 다른 구성 요소는 선택 사항입니다. 이 값이 있는 경우 각 시간 구성 요소의 값은 지정된 범위 내에 있어야 합니다. 예를 들어 시간 구성 요소인 hh 값은 0에서 23 사이여야 합니다. 이 때문에 메서드에 "23:00:00"을 Parse 전달하면 23시간의 시간 간격이 반환됩니다. 반면에 "24:00:00"을 전달하면 24일의 시간 간격이 반환됩니다. "24"는 시간 구성 요소 범위를 벗어나므로 일 구성 요소로 해석됩니다.

구성 요소는 input 집합적으로 보다 크거나 같 TimeSpan.MinValue 고 보다 작거나 같은 시간 간격을 TimeSpan.MaxValue지정해야 합니다.

이 메서드는 Parse(String) 지정한 문화formatProviderinput 에 대해 각 문화권별 형식을 사용하여 구문 분석을 시도합니다.

formatProvider 매개 변수는 반환된 IFormatProvider 문자열의 형식에 대한 문화권별 정보를 제공하는 구현입니다. 매개 변수는 formatProvider 다음 중 어느 것일 수 있습니다.

nullDateTimeFormatInfo 경우 formatProvider 현재 문화권과 연결된 개체가 사용됩니다.

발신자에 대한 참고 사항

구문 분석할 문자열의 시간 간격 구성 요소가 7자리를 초과하는 경우 .NET Framework 3.5 이전 버전의 구문 분석 작업은 .NET Framework 4 이상 버전의 구문 분석 작업과 다르게 동작할 수 있습니다. 경우에 따라 .NET Framework 3.5 및 이전 버전에서 성공한 구문 분석 작업이 실패하고 .NET Framework 4 이상 버전에서 throw OverflowException 할 수 있습니다. 다른 경우에는 .NET Framework 3.5 및 이전 버전에서 throw FormatException 하는 구문 분석 작업이 실패하고 .NET Framework 4 이상 버전에서 throw OverflowException 할 수 있습니다. 다음 예제에서는 두 시나리오를 모두 보여 줍니다.

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 and later versions or .NET Core:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow
open System

let values = [| "000000006"; "12.12:12:12.12345678" |]
for value in values do
    try
        let interval = TimeSpan.Parse value
        printfn $"{value} --> {interval}"   
    with
    | :? FormatException ->
        printfn $"{value}: Bad Format"
    | :? OverflowException ->
        printfn $"{value}: Overflow"

// 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 and later versions or .NET Core:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow
Dim values() As String = { "000000006", "12.12:12:12.12345678" }
For Each value As String In values
   Try
      Dim interval As TimeSpan = TimeSpan.Parse(value)
      Console.WriteLine("{0} --> {1}", value, interval)
   Catch e As FormatException
      Console.WriteLine("{0}: Bad Format", value)
   Catch e As OverflowException
      Console.WriteLine("{0}: Overflow", value)
   End Try         
Next
' 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

적용 대상