英語で読む

次の方法で共有


TimeSpan.TryParse メソッド

定義

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

オーバーロード

TryParse(String, TimeSpan)

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

TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

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

TryParse(ReadOnlySpan<Char>, TimeSpan)

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

TryParse(String, IFormatProvider, TimeSpan)

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

TryParse(String, TimeSpan)

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

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

C#
public static bool TryParse(string s, out TimeSpan result);
C#
public static bool TryParse(string? s, out TimeSpan result);

パラメーター

s
String

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

result
TimeSpan

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

戻り値

s が正常に変換されたかどうかを true します。それ以外の場合は、falseします。 この操作は、 パラメーターが または である場合、形式が無効な場合、TimeSpan.MinValue 未満の時間間隔、または TimeSpan.MaxValueを超える時間間隔を表すか、有効な範囲外の 1 日、時間、分、または秒のコンポーネントを持っている場合に、 を返します。

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

C#
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

注釈

この API の詳細については、「TimeSpan.TryParseの補足 API 解説 参照してください。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

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

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

C#
public static bool TryParse(ReadOnlySpan<char> input, IFormatProvider? formatProvider, out TimeSpan result);
C#
public static bool TryParse(ReadOnlySpan<char> input, IFormatProvider formatProvider, out TimeSpan result);

パラメーター

input
ReadOnlySpan<Char>

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

formatProvider
IFormatProvider

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

result
TimeSpan

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

戻り値

input が正常に変換されたかどうかを true します。それ以外の場合は、falseします。 この操作は、 パラメーターが または である場合、形式が無効な場合、TimeSpan.MinValue 未満の時間間隔、または TimeSpan.MaxValueを超える時間間隔を表すか、有効な範囲外の 1 日、時間、分、または秒のコンポーネントを持っている場合に、 を返します。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

TryParse(ReadOnlySpan<Char>, TimeSpan)

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

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

C#
public static bool TryParse(ReadOnlySpan<char> s, out TimeSpan result);

パラメーター

s
ReadOnlySpan<Char>

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

result
TimeSpan

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

戻り値

s が正常に変換されたかどうかを true します。それ以外の場合は、falseします。 この操作は、 パラメーターが または である場合、形式が無効な場合、TimeSpan.MinValue 未満の時間間隔、または TimeSpan.MaxValueを超える時間間隔を表すか、有効な範囲外の 1 日、時間、分、または秒のコンポーネントを持っている場合に、 を返します。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

TryParse(String, IFormatProvider, TimeSpan)

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

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

C#
public static bool TryParse(string input, IFormatProvider formatProvider, out TimeSpan result);
C#
public static bool TryParse(string? input, IFormatProvider? formatProvider, out TimeSpan result);

パラメーター

input
String

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

formatProvider
IFormatProvider

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

result
TimeSpan

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

戻り値

input が正常に変換されたかどうかを true します。それ以外の場合は、falseします。 この操作は、 パラメーターが または である場合、形式が無効な場合、TimeSpan.MinValue 未満の時間間隔、または TimeSpan.MaxValueを超える時間間隔を表すか、有効な範囲外の 1 日、時間、分、または秒のコンポーネントを持っている場合に、 を返します。

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

C#
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

注釈

この API の詳細については、「TimeSpan.TryParseの補足 API 解説 参照してください。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0