英語で読む

次の方法で共有


TimeSpan.Parse メソッド

定義

時間間隔の文字列形式を等価の TimeSpan に変換します。

オーバーロード

Parse(String, IFormatProvider)

指定したカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。

Parse(ReadOnlySpan<Char>, IFormatProvider)

指定したカルチャ固有の書式情報を使用して、時間間隔のスパン表現を同等の TimeSpan に変換します。

Parse(String)

時間間隔の文字列形式を等価の TimeSpan に変換します。

Parse(String, IFormatProvider)

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

指定したカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。

C#
public static TimeSpan Parse (string input, IFormatProvider formatProvider);
C#
public static TimeSpan Parse (string input, IFormatProvider? formatProvider);

パラメーター

input
String

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

formatProvider
IFormatProvider

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

戻り値

formatProviderで指定された inputに対応する時間間隔。

実装

例外

inputnullです。

input 形式が無効です。

は、TimeSpan.MinValue より小さいか、TimeSpan.MaxValueより大きい数値を表します。

-又は-

input の日、時間、分、または秒のコンポーネントの少なくとも 1 つが有効な範囲外です。

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

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

注釈

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

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

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

この API の詳細については、「System.TimeSpan.Parseの補足 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

Parse(ReadOnlySpan<Char>, IFormatProvider)

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

指定したカルチャ固有の書式情報を使用して、時間間隔のスパン表現を同等の TimeSpan に変換します。

C#
public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider? formatProvider = default);
C#
public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider formatProvider = default);

パラメーター

input
ReadOnlySpan<Char>

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

formatProvider
IFormatProvider

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

戻り値

formatProviderで指定された inputに対応する時間間隔。

実装

適用対象

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

Parse(String)

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

時間間隔の文字列形式を等価の TimeSpan に変換します。

C#
public static TimeSpan Parse (string s);

パラメーター

s
String

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

戻り値

sに対応する時間間隔。

例外

snullです。

s 形式が無効です。

は、TimeSpan.MinValue より小さいか、TimeSpan.MaxValueより大きい数値を表します。

-又は-

少なくとも 1 つの日、時間、分、または秒のコンポーネントが有効な範囲外です。

次の例では、Parse メソッドを使用して、文字列配列内の各要素を TimeSpan 値に変換します。 現在のシステム カルチャを、現在のシステム カルチャが解析操作に与える影響を示すために、クロアチア語 ("hr-HR") と英語 - 米国 ("en-US") に変更されます。

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

注釈

この API の詳細については、「TimeSpan.Parseの補足 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 1.1, 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