TimeSpan.TryParse メソッド

定義

指定した時間間隔の文字列形式を等価の TimeSpan に変換し、変換が成功したかどうかを示す値を返します。

オーバーロード

名前 説明
TryParse(ReadOnlySpan<Char>, TimeSpan)

時間間隔のスパン表現を等価の TimeSpan に変換し、変換が成功したかどうかを示す値を返します。

TryParse(String, TimeSpan)

時間間隔の文字列形式を等価の TimeSpan に変換し、変換が成功したかどうかを示す値を返します。

TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

指定したカルチャ固有の書式設定情報を使用して、時間間隔のスパン表現を等価の TimeSpan に変換し、変換が成功したかどうかを示す値を返します。

TryParse(String, IFormatProvider, TimeSpan)

指定したカルチャ固有の書式設定情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換し、変換が成功したかどうかを示す値を返します。

TryParse(ReadOnlySpan<Char>, TimeSpan)

ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs

時間間隔のスパン表現を等価の TimeSpan に変換し、変換が成功したかどうかを示す値を返します。

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

パラメーター

s
ReadOnlySpan<Char>

変換する時間間隔を表す文字を含むスパン。

result
TimeSpan

このメソッドから制御が戻るときに、 sで指定された時間間隔を表すオブジェクトを格納するか、変換に失敗した場合に Zero します。 このパラメーターは初期化せずに渡されます。

返品

が正常に変換された場合は a0/&。それ以外の場合は。 この操作は、false パラメーターがsまたはnull、無効な形式、Empty より小さい、または TimeSpan.MaxValue より大きい時間間隔を表す場合、または有効な範囲外に少なくとも 1 日、時間、分、または秒のコンポーネントがある場合に、を返します。

適用対象

TryParse(String, TimeSpan)

ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs

時間間隔の文字列形式を等価の TimeSpan に変換し、変換が成功したかどうかを示す値を返します。

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParse(string s, 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

パラメーター

s
String

変換する時間間隔を指定する文字列。

result
TimeSpan

このメソッドから制御が戻るときに、 sで指定された時間間隔を表すオブジェクトを格納するか、変換に失敗した場合に Zero します。 このパラメーターは初期化せずに渡されます。

返品

が正常に変換された場合は a0/&。それ以外の場合は。 この操作は、false パラメーターがsまたはnull、無効な形式、Empty より小さい、または TimeSpan.MaxValue より大きい時間間隔を表す場合、または有効な範囲外に少なくとも 1 日、時間、分、または秒のコンポーネントがある場合に、を返します。

次の例では、TryParse メソッドを使用して、有効なTimeSpan文字列からTimeSpanオブジェクトを作成し、タイム スパン文字列が無効であるために解析操作が失敗したタイミングを示します。

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

let parseTimeSpan intervalStr =
    // Write the first part of the output line.
    printf $"%20s{intervalStr}   "

    // Parse the parameter, and then convert it back to a string.
    match TimeSpan.TryParse intervalStr with
    | true, intervalVal ->
        let intervalToStr = string intervalVal

        // Pad the end of the TimeSpan string with spaces if it 
        // does not contain milliseconds.
        let pIndex = intervalToStr.IndexOf ':'
        let pIndex = intervalToStr.IndexOf('.', pIndex)
        let intervalToStr =
            if pIndex < 0 then
                intervalToStr + "        "
            else intervalStr
        printfn $"{intervalToStr,21}"
        // Handle failure of TryParse method.
    | _ ->
        printfn "Parse operation failed."

printfn "%20s   %21s" "String to Parse" "TimeSpan"
printfn "%20s   %21s" "---------------" "---------------------"

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 Run()
        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

注釈

TryParse(System.String,System.TimeSpan@) メソッド

TimeSpan.TryParse(String, TimeSpan) メソッドは、変換が失敗しても例外をスローしない点を除き、TimeSpan.Parse(String) メソッドに似ています。

s パラメーターには、次の形式の時間間隔の指定が含まれています。

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

角かっこ ([ と ]) の要素は省略可能です。 中かっこ ({ と }) で囲まれ、縦棒 (|) で区切られた候補一覧から 1 つを選択する必要があります。 次の表は、それぞれの要素の説明です。

要素 説明
ws 省略可能な空白。
- 負の TimeSpanを示す省略可能な負符号。
d 0 から10675199までの日数。
日と時間を区切る文化に配慮したシンボル。 インバリアント形式では、ピリオド (".") 文字が使用されます。
はあ 0 から 23 までの時間。
: カルチャに依存する時刻区切り記号。 インバリアント形式では、コロン (":") 文字が使用されます。
ミリメートル 分 (0 から 59 まで)。
ss 0 ~ 59 の範囲の省略可能な秒。
秒と秒の分数を区切る、文化に依存するシンボル。 インバリアント形式では、ピリオド (".") 文字が使用されます。
ff 1 から 7 桁の 10 進数で表される、省略可能な秒の小数部分。

sのコンポーネントでは、TimeSpan.MinValue以上、TimeSpan.MaxValue以下の時間間隔をまとめて指定する必要があります。

Parse(String) メソッドは、現在のカルチャに特有の形式を用いてsを解析しようとします。

TryParse(String, IFormatProvider, TimeSpan) メソッド

TryParse(String, IFormatProvider, TimeSpan) メソッドは、変換が失敗した場合に例外をスローしない点を除き、Parse(String, IFormatProvider) メソッドに似ています。

input パラメーターには、次の形式の時間間隔の指定が含まれています。

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

角かっこ ([ と ]) の要素は省略可能です。 中かっこ ({ と }) で囲まれ、縦棒 (|) で区切られた候補一覧から 1 つを選択する必要があります。 次の表は、それぞれの要素の説明です。

要素 説明
ws 省略可能な空白。
- 負の TimeSpanを示す省略可能な負符号。
d 0 から10675199までの日数。
日と時間を区切る文化に配慮したシンボル。 インバリアント形式では、ピリオド (".") 文字が使用されます。
はあ 0 から 23 までの時間。
: カルチャに依存する時刻区切り記号。 インバリアント形式では、コロン (":") 文字が使用されます。
ミリメートル 分 (0 から 59 まで)。
ss 0 ~ 59 の範囲の省略可能な秒。
秒と秒の分数を区切る、文化に依存するシンボル。 インバリアント形式では、ピリオド (".") 文字が使用されます。
ff 1 から 7 桁の 10 進数で表される、省略可能な秒の小数部分。

inputのコンポーネントでは、TimeSpan.MinValue以上、TimeSpan.MaxValue以下の時間間隔をまとめて指定する必要があります。

TryParse(String, IFormatProvider, TimeSpan) メソッドは、inputで指定されたカルチャのカルチャ固有の各形式を使用して、formatProviderの解析を試みます。

formatProvider パラメーターは、返される文字列の形式に関するカルチャ固有の情報を提供するIFormatProvider実装です。 formatProvider パラメーターには、次のいずれかを指定できます。

formatProvidernullされている場合は、現在のカルチャに関連付けられているDateTimeFormatInfo オブジェクトが使用されます。

適用対象

TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs

指定したカルチャ固有の書式設定情報を使用して、時間間隔のスパン表現を等価の TimeSpan に変換し、変換が成功したかどうかを示す値を返します。

public:
 static bool TryParse(ReadOnlySpan<char> input, IFormatProvider ^ formatProvider, [Runtime::InteropServices::Out] TimeSpan % result) = ISpanParsable<TimeSpan>::TryParse;
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);
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

パラメーター

input
ReadOnlySpan<Char>

変換する時間間隔を表す文字を含むスパン。

formatProvider
IFormatProvider

カルチャ固有の書式設定情報を提供するオブジェクト。

result
TimeSpan

このメソッドから制御が戻るときに、 inputで指定された時間間隔を表すオブジェクトを格納するか、変換に失敗した場合に Zero します。 このパラメーターは初期化せずに渡されます。

返品

が正常に変換された場合は a0/&。それ以外の場合は。 この操作は、false パラメーターがinputまたはnull、無効な形式、Empty より小さい、または TimeSpan.MaxValue より大きい時間間隔を表す場合、または有効な範囲外に少なくとも 1 日、時間、分、または秒のコンポーネントがある場合に、を返します。

適用対象

TryParse(String, IFormatProvider, TimeSpan)

ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs

指定したカルチャ固有の書式設定情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換し、変換が成功したかどうかを示す値を返します。

public:
 static bool TryParse(System::String ^ input, IFormatProvider ^ formatProvider, [Runtime::InteropServices::Out] TimeSpan % result);
public:
 static bool TryParse(System::String ^ input, IFormatProvider ^ formatProvider, [Runtime::InteropServices::Out] TimeSpan % result) = IParsable<TimeSpan>::TryParse;
public static bool TryParse(string input, IFormatProvider formatProvider, 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

パラメーター

input
String

変換する時間間隔を指定する文字列。

formatProvider
IFormatProvider

カルチャ固有の書式設定情報を提供するオブジェクト。

result
TimeSpan

このメソッドから制御が戻るときに、 inputで指定された時間間隔を表すオブジェクトを格納するか、変換に失敗した場合に Zero します。 このパラメーターは初期化せずに渡されます。

返品

が正常に変換された場合は a0/&。それ以外の場合は。 この操作は、false パラメーターがinputまたはnull、無効な形式、Empty より小さい、または TimeSpan.MaxValue より大きい時間間隔を表す場合、または有効な範囲外に少なくとも 1 日、時間、分、または秒のコンポーネントがある場合に、を返します。

次の例では、 CultureInfo オブジェクトの配列を定義し、 TryParse(String, IFormatProvider, TimeSpan) メソッドの呼び出しで各オブジェクトを使用して、文字列配列内の要素を解析します。 この例では、特定のカルチャの規則が書式設定操作にどのように影響するかを示します。

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

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.Format("{0,-17}", "String")
for culture in cultures do
    header <- 
        if culture.Equals CultureInfo.InvariantCulture then
            String.Format("{0,20}", "Invariant")
        else
            String.Format("{0,20}", culture.Name)

printfn $"{header}\n"

for value in values do
    printf $"{value,-17}"
    for culture in cultures do
        match TimeSpan.TryParse(value, culture) with
        | true, interval -> 
            printfn $"{interval,20:c}"
        | _ ->
            printfn "%20s" "Unable to Parse"
// 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
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

' 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

注釈

TryParse(System.String,System.TimeSpan@) メソッド

TimeSpan.TryParse(String, TimeSpan) メソッドは、変換が失敗しても例外をスローしない点を除き、TimeSpan.Parse(String) メソッドに似ています。

s パラメーターには、次の形式の時間間隔の指定が含まれています。

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

角かっこ ([ と ]) の要素は省略可能です。 中かっこ ({ と }) で囲まれ、縦棒 (|) で区切られた候補一覧から 1 つを選択する必要があります。 次の表は、それぞれの要素の説明です。

要素 説明
ws 省略可能な空白。
- 負の TimeSpanを示す省略可能な負符号。
d 0 から10675199までの日数。
日と時間を区切る文化に配慮したシンボル。 インバリアント形式では、ピリオド (".") 文字が使用されます。
はあ 0 から 23 までの時間。
: カルチャに依存する時刻区切り記号。 インバリアント形式では、コロン (":") 文字が使用されます。
ミリメートル 分 (0 から 59 まで)。
ss 0 ~ 59 の範囲の省略可能な秒。
秒と秒の分数を区切る、文化に依存するシンボル。 インバリアント形式では、ピリオド (".") 文字が使用されます。
ff 1 から 7 桁の 10 進数で表される、省略可能な秒の小数部分。

sのコンポーネントでは、TimeSpan.MinValue以上、TimeSpan.MaxValue以下の時間間隔をまとめて指定する必要があります。

Parse(String) メソッドは、現在のカルチャに特有の形式を用いてsを解析しようとします。

TryParse(String, IFormatProvider, TimeSpan) メソッド

TryParse(String, IFormatProvider, TimeSpan) メソッドは、変換が失敗した場合に例外をスローしない点を除き、Parse(String, IFormatProvider) メソッドに似ています。

input パラメーターには、次の形式の時間間隔の指定が含まれています。

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

角かっこ ([ と ]) の要素は省略可能です。 中かっこ ({ と }) で囲まれ、縦棒 (|) で区切られた候補一覧から 1 つを選択する必要があります。 次の表は、それぞれの要素の説明です。

要素 説明
ws 省略可能な空白。
- 負の TimeSpanを示す省略可能な負符号。
d 0 から10675199までの日数。
日と時間を区切る文化に配慮したシンボル。 インバリアント形式では、ピリオド (".") 文字が使用されます。
はあ 0 から 23 までの時間。
: カルチャに依存する時刻区切り記号。 インバリアント形式では、コロン (":") 文字が使用されます。
ミリメートル 分 (0 から 59 まで)。
ss 0 ~ 59 の範囲の省略可能な秒。
秒と秒の分数を区切る、文化に依存するシンボル。 インバリアント形式では、ピリオド (".") 文字が使用されます。
ff 1 から 7 桁の 10 進数で表される、省略可能な秒の小数部分。

inputのコンポーネントでは、TimeSpan.MinValue以上、TimeSpan.MaxValue以下の時間間隔をまとめて指定する必要があります。

TryParse(String, IFormatProvider, TimeSpan) メソッドは、inputで指定されたカルチャのカルチャ固有の各形式を使用して、formatProviderの解析を試みます。

formatProvider パラメーターは、返される文字列の形式に関するカルチャ固有の情報を提供するIFormatProvider実装です。 formatProvider パラメーターには、次のいずれかを指定できます。

formatProvidernullされている場合は、現在のカルチャに関連付けられているDateTimeFormatInfo オブジェクトが使用されます。

適用対象