TimeSpan 構造体

定義

時間間隔を表します。Represents a time interval.

public value class TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable
type TimeSpan = struct
    interface IFormattable
Public Structure TimeSpan
Implements IComparable, IComparable(Of TimeSpan), IEquatable(Of TimeSpan), IFormattable
継承
TimeSpan
属性
実装

次の例では、2つの日付の差を表す TimeSpan オブジェクトをインスタンス化します。The following example instantiates a TimeSpan object that represents the difference between two dates. 次に、TimeSpan オブジェクトのプロパティが表示されます。It then displays the TimeSpan object's properties.

// Define two dates.
DateTime date1 = new DateTime(2010, 1, 1, 8, 0, 15);
DateTime date2 = new DateTime(2010, 8, 18, 13, 30, 30);

// Calculate the interval between the two dates.
TimeSpan interval = date2 - date1;
Console.WriteLine("{0} - {1} = {2}", date2, date1, interval.ToString());

// Display individual properties of the resulting TimeSpan object.
Console.WriteLine("   {0,-35} {1,20}", "Value of Days Component:", interval.Days);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays);
Console.WriteLine("   {0,-35} {1,20}", "Value of Hours Component:", interval.Hours);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours);
Console.WriteLine("   {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes);
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Ticks:", interval.Ticks);

// This example displays the following output:
//       8/18/2010 1:30:30 PM - 1/1/2010 8:00:15 AM = 229.05:30:15
//          Value of Days Component:                             229
//          Total Number of Days:                   229.229340277778
//          Value of Hours Component:                              5
//          Total Number of Hours:                  5501.50416666667
//          Value of Minutes Component:                           30
//          Total Number of Minutes:                       330090.25
//          Value of Seconds Component:                           15
//          Total Number of Seconds:                      19,805,415
//          Value of Milliseconds Component:                       0
//          Total Number of Milliseconds:             19,805,415,000
//          Ticks:                               198,054,150,000,000
' Define two dates.
Dim date1 As Date = #1/1/2010 8:00:15AM#
Dim date2 As Date = #8/18/2010 1:30:30PM#
' Calculate the interval between the two dates.
Dim interval As TimeSpan = date2 - date1
Console.WriteLine("{0} - {1} = {2}", date2, date1, interval.ToString())
' Display individual properties of the resulting TimeSpan object.
Console.WriteLine("   {0,-35} {1,20}", "Value of Days Component:", interval.Days)
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays)
Console.WriteLine("   {0,-35} {1,20}", "Value of Hours Component:", interval.Hours)
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours)
Console.WriteLine("   {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes)
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes)
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds)
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds)
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds)
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds)
Console.WriteLine("   {0,-35} {1,20:N0}", "Ticks:", interval.Ticks)
' The example displays the following output:
'       8/18/2010 1:30:30 PM - 1/1/2010 8:00:15 AM = 229.05:30:15
'          Value of Days Component:                             229
'          Total Number of Days:                   229.229340277778
'          Value of Hours Component:                              5
'          Total Number of Hours:                  5501.50416666667
'          Value of Minutes Component:                           30
'          Total Number of Minutes:                       330090.25
'          Value of Seconds Component:                           15
'          Total Number of Seconds:                      19,805,415
'          Value of Milliseconds Component:                       0
'          Total Number of Milliseconds:             19,805,415,000
'          Ticks:                               198,054,150,000,000
# Define two dates.
$Date2 = Get-Date -Date '2010/8/18' -Hour 13 -Minute 30 -Second 30
$Date1 = Get-Date -Date '2010/1/1'  -Hour 8  -Minute 0  -Second 15

# Calculate the interval between the two dates.
$Interval = $Date2 - $Date1
"{0} - {1} = {2}" -f $Date2, $Date1, ($Interval.ToString())

#  Display individual properties of the resulting TimeSpan object.
"   {0,-35} {1,20}"    -f "Value of Days Component:", $Interval.Days
"   {0,-35} {1,20}"    -f "Total Number of Days:", $Interval.TotalDays
"   {0,-35} {1,20}"    -f "Value of Hours Component:", $Interval.Hours
"   {0,-35} {1,20}"    -f "Total Number of Hours:", $Interval.TotalHours
"   {0,-35} {1,20}"    -f "Value of Minutes Component:", $Interval.Minutes
"   {0,-35} {1,20}"    -f "Total Number of Minutes:", $Interval.TotalMinutes
"   {0,-35} {1,20:N0}" -f "Value of Seconds Component:", $Interval.Seconds
"   {0,-35} {1,20:N0}" -f "Total Number of Seconds:", $Interval.TotalSeconds
"   {0,-35} {1,20:N0}" -f "Value of Milliseconds Component:", $Interval.Milliseconds
"   {0,-35} {1,20:N0}" -f "Total Number of Milliseconds:", $Interval.TotalMilliseconds
"   {0,-35} {1,20:N0}" -f "Ticks:", $Interval.Ticks

<# This sample produces the following output:

18/08/2010 13:30:30 - 01/01/2010 08:00:15 = 229.05:30:15
   Value of Days Component:                             229
   Total Number of Days:                   229.229340277778
   Value of Hours Component:                              5
   Total Number of Hours:                  5501.50416666667
   Value of Minutes Component:                           30
   Total Number of Minutes:                       330090.25
   Value of Seconds Component:                           15
   Total Number of Seconds:                      19,805,415
   Value of Milliseconds Component:                       0
   Total Number of Milliseconds:             19,805,415,000
   Ticks:                               198,054,150,000,000
#>

注釈

TimeSpan オブジェクトは、日数、時間、分、秒、および秒の小数部の正または負の数として計測される時間間隔 (時間または経過時間) を表します。A TimeSpan object represents a time interval (duration of time or elapsed time) that is measured as a positive or negative number of days, hours, minutes, seconds, and fractions of a second. TimeSpan 構造を使用して時刻を表すこともできますが、時刻が特定の日付と関連付けられていない場合に限られます。The TimeSpan structure can also be used to represent the time of day, but only if the time is unrelated to a particular date. それ以外の場合は、代わりに DateTime または DateTimeOffset 構造体を使用する必要があります。Otherwise, the DateTime or DateTimeOffset structure should be used instead. (TimeSpan 構造を使用して時刻を反映する方法の詳細については、「 DateTime、DateTimeOffset、TimeSpan、および TimeZoneInfo の使い分け」を参照してください)。(For more information about using the TimeSpan structure to reflect the time of day, see Choosing Between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo.)

注意

TimeSpan 値は、時間間隔を表し、特定の日数、時間、分、秒、およびミリ秒数で表すことができます。A TimeSpan value represents a time interval and can be expressed as a particular number of days, hours, minutes, seconds, and milliseconds. この値は、特定の開始または終了ポイントを参照せずに、一般的な間隔を表すので、年数と月では表現できません。どちらも、日数が変動します。Because it represents a general interval without reference to a particular start or end point, it cannot be expressed in terms of years and months, both of which have a variable number of days. これは、特定のタイムゾーンを参照せずに日付と時刻を表す DateTime 値と、特定の時間を表す DateTimeOffset 値とは異なります。It differs from a DateTime value, which represents a date and time without reference to a particular time zone, or a DateTimeOffset value, which represents a specific moment of time.

TimeSpan 構造体が期間を測定するために使用する最大時間単位は1日です。The largest unit of time that the TimeSpan structure uses to measure duration is a day. 時間間隔は日単位で測定されます。これは、月や年などの長い時間単位の日数が異なるためです。Time intervals are measured in days for consistency, because the number of days in larger units of time, such as months and years, varies.

TimeSpan オブジェクトの値は、示された時間間隔と等しいタイマー刻みの数です。The value of a TimeSpan object is the number of ticks that equal the represented time interval. ティックは100ナノ秒、つまり万の 1 10-秒に等しくなります。A tick is equal to 100 nanoseconds, or one ten-millionth of a second. TimeSpan オブジェクトの値は、TimeSpan.MinValue から TimeSpan.MaxValueまでの範囲で指定できます。The value of a TimeSpan object can range from TimeSpan.MinValue to TimeSpan.MaxValue.

TimeSpan 値のインスタンス化Instantiating a TimeSpan Value

TimeSpan 値は、いくつかの方法でインスタンス化できます。You can instantiate a TimeSpan value in a number of ways:

  • 暗黙のパラメーターなしのコンストラクターを呼び出します。By calling its implicit parameterless constructor. これにより、次の例に示すように、値が TimeSpan.Zeroであるオブジェクトが作成されます。This creates an object whose value is TimeSpan.Zero, as the following example shows.

    TimeSpan interval = new TimeSpan();
    Console.WriteLine(interval.Equals(TimeSpan.Zero));    // Displays "True".
    
    Dim interval As New TimeSpan()
    Console.WriteLine(interval.Equals(TimeSpan.Zero))     ' Displays "True".
    
  • 明示的なコンストラクターのいずれかを呼び出します。By calling one of its explicit constructors. 次の例では、TimeSpan 値を、指定した時間数、分数、秒数に初期化します。The following example initializes a TimeSpan value to a specified number of hours, minutes, and seconds.

    TimeSpan interval = new TimeSpan(2, 14, 18);
    Console.WriteLine(interval.ToString());              
    
    // Displays "02:14:18".
    
    Dim interval As New TimeSpan(2, 14, 18)
    Console.WriteLine(interval.ToString())                ' Displays "02:14:18".
    
  • メソッドを呼び出すか、TimeSpan 値を返す操作を実行する。By calling a method or performing an operation that returns a TimeSpan value. たとえば、次の例に示すように、2つの日付と時刻の値の間の間隔を表す TimeSpan 値をインスタンス化できます。For example, you can instantiate a TimeSpan value that represents the interval between two date and time values, as the following example shows.

    DateTime departure = new DateTime(2010, 6, 12, 18, 32, 0);
    DateTime arrival = new DateTime(2010, 6, 13, 22, 47, 0);
    TimeSpan travelTime = arrival - departure;  
    Console.WriteLine("{0} - {1} = {2}", arrival, departure, travelTime);      
    
    // The example displays the following output:
    //       6/13/2010 10:47:00 PM - 6/12/2010 6:32:00 PM = 1.04:15:00
    
    Dim departure As DateTime = #06/12/2010 6:32PM#
    Dim arrival As DateTime = #06/13/2010 10:47PM#
    Dim travelTime As TimeSpan = arrival - departure  
    Console.WriteLine("{0} - {1} = {2}", arrival, departure, travelTime)      
    ' The example displays the following output:
    '       6/13/2010 10:47:00 PM - 6/12/2010 6:32:00 PM = 1.04:15:00
    

    次の例に示すように、このようにして TimeSpan オブジェクトをゼロ時刻値に初期化することもできます。You can also initialize a TimeSpan object to a zero time value in this way, as the following example shows.

       Random rnd = new Random();
    
       TimeSpan timeSpent = TimeSpan.Zero;
    
       timeSpent += GetTimeBeforeLunch();
       timeSpent += GetTimeAfterLunch();
    
       Console.WriteLine("Total time: {0}", timeSpent);
    
       TimeSpan GetTimeBeforeLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
       
       TimeSpan GetTimeAfterLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
    
       // The example displays output like the following:
       //        Total time: 08:00:00
    
    Module Example
       Dim rnd As New Random()
       
       Public Sub Main()
          Dim timeSpent As TimeSpan = TimeSpan.Zero
    
          timeSpent += GetTimeBeforeLunch()
          timeSpent += GetTimeAfterLunch()
    
          Console.WriteLine("Total time: {0}", timeSpent)
       End Sub
       
       Private Function GetTimeBeforeLunch() As TimeSpan
          Return New TimeSpan(rnd.Next(3, 6), 0, 0)
       End Function
       
       Private Function GetTimeAfterLunch() As TimeSpan
          Return New TimeSpan(rnd.Next(3, 6), 0, 0)
       End Function
    End Module
    ' The example displays output like the following:
    '       Total time: 08:00:00
    

    TimeSpan 値は、DateTimeDateTimeOffset、および TimeSpan 構造体の算術演算子およびメソッドによって返されます。TimeSpan values are returned by arithmetic operators and methods of the DateTime, DateTimeOffset, and TimeSpan structures.

  • TimeSpan 値の文字列形式を解析する。By parsing the string representation of a TimeSpan value. Parse および TryParse メソッドを使用して、時間間隔を含む文字列を TimeSpan 値に変換できます。You can use the Parse and TryParse methods to convert strings that contain time intervals to TimeSpan values. 次の例では、Parse メソッドを使用して、文字列の配列を TimeSpan の値に変換します。The following example uses the Parse method to convert an array of strings to TimeSpan values.

    string[] values = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12"};
    foreach (string value in values)
    {
       try {
          TimeSpan ts = TimeSpan.Parse(value);
          Console.WriteLine("'{0}' --> {1}", value, ts);
       }
       catch (FormatException) {
          Console.WriteLine("Unable to parse '{0}'", value);
       }
       catch (OverflowException) {
          Console.WriteLine("'{0}' is outside the range of a TimeSpan.", value);
       }   
    }
    
    // The example displays the following output:
    //       '12' --> 12.00:00:00
    //       Unable to parse '31.'
    //       '5.8:32:16' --> 5.08:32:16
    //       '12:12:15.95' --> 12:12:15.9500000
    //       Unable to parse '.12'  
    
    Dim values() As String = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12"}
    For Each value As String In values
       Try
          Dim ts As TimeSpan = TimeSpan.Parse(value)
          Console.WriteLine("'{0}' --> {1}", value, ts)
       Catch e As FormatException
          Console.WriteLine("Unable to parse '{0}'", value)
       Catch e As OverflowException
          Console.WriteLine("'{0}' is outside the range of a TimeSpan.", value)
       End Try   
    Next
    ' The example displays the following output:
    '       '12' --> 12.00:00:00
    '       Unable to parse '31.'
    '       '5.8:32:16' --> 5.08:32:16
    '       '12:12:15.95' --> 12:12:15.9500000
    '       Unable to parse '.12'  
    

    さらに、ParseExact または TryParseExact メソッドを呼び出すことによって、解析して TimeSpan 値に変換する入力文字列の正確な形式を定義できます。In addition, you can define the precise format of the input string to be parsed and converted to a TimeSpan value by calling the ParseExact or TryParseExact method.

TimeSpan 値に対する操作の実行Performing Operations on TimeSpan Values

AdditionSubtraction の演算子を使用するか、Add および Subtract メソッドを呼び出すことによって、時間間隔を加算および減算できます。You can add and subtract time durations either by using the Addition and Subtraction operators, or by calling the Add and Subtract methods. CompareCompareTo、および Equals メソッドを呼び出すことによって、2つの期間を比較することもできます。You can also compare two time durations by calling the Compare, CompareTo, and Equals methods. TimeSpan 構造体には、時間間隔を正および負の値に変換する Duration メソッドと Negate メソッドも含まれています。The TimeSpan structure also includes the Duration and Negate methods, which convert time intervals to positive and negative values,

TimeSpan 値の範囲は MaxValueMinValue ます。The range of TimeSpan values is MinValue to MaxValue.

TimeSpan 値の書式設定Formatting a TimeSpan Value

TimeSpan 値は、[-]dとして表すことができます。hh:mm:ssff。省略可能なマイナス記号は負の時間間隔を示し、 dコンポーネントは日、24時間制の場合はhhmmは分、 ssは秒、 ffは秒の小数部を表します。A TimeSpan value can be represented as [-]d.hh:mm:ss.ff, where the optional minus sign indicates a negative time interval, the d component is days, hh is hours as measured on a 24-hour clock, mm is minutes, ss is seconds, and ff is fractions of a second. つまり、時間間隔は、時刻を含まない正または負の日数、または時刻が1日の日数で構成されます。または、時刻のみが含まれます。That is, a time interval consists of a positive or negative number of days without a time of day, or a number of days with a time of day, or only a time of day.

.NET Framework 4.NET Framework 4以降、TimeSpan 構造は、ToString メソッドのオーバーロードによってカルチャに依存した書式設定をサポートします。これにより、TimeSpan 値が文字列形式に変換されます。Beginning with the .NET Framework 4.NET Framework 4, the TimeSpan structure supports culture-sensitive formatting through the overloads of its ToString method, which converts a TimeSpan value to its string representation. 既定の TimeSpan.ToString() メソッドは、以前のバージョンの .NET Framework の戻り値と同じ不変形式を使用して、時間間隔を返します。The default TimeSpan.ToString() method returns a time interval by using an invariant format that is identical to its return value in previous versions of the .NET Framework. TimeSpan.ToString(String) のオーバーロードでは、時間間隔の文字列形式を定義する書式設定文字列を指定できます。The TimeSpan.ToString(String) overload lets you specify a format string that defines the string representation of the time interval. TimeSpan.ToString(String, IFormatProvider) のオーバーロードでは、書式指定文字列と、時間間隔の文字列形式を作成するために使用される書式指定規則を持つカルチャを指定できます。The TimeSpan.ToString(String, IFormatProvider) overload lets you specify a format string and the culture whose formatting conventions are used to create the string representation of the time interval. TimeSpan では、標準とカスタムの両方の書式指定文字列がサポートされています。TimeSpan supports both standard and custom format strings. (詳細については、「標準の Timespan 書式指定文字列」および「カスタム TimeSpan 書式指定文字列」を参照してください)。ただし、カルチャに依存するのは、標準書式指定文字列のみです。(For more information, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings.) However, only standard format strings are culture-sensitive.

レガシ TimeSpan 書式設定を復元していますRestoring Legacy TimeSpan Formatting

場合によっては、.NET Framework 3.5.NET Framework 3.5 以前のバージョンで TimeSpan 値が正しく書式設定されたコードが .NET Framework 4.NET Framework 4で失敗します。In some cases, code that successfully formats TimeSpan values in .NET Framework 3.5.NET Framework 3.5 and earlier versions fails in .NET Framework 4.NET Framework 4. これは、書式指定文字列を使用して TimeSpan 値の書式を設定するために< TimeSpan_LegacyFormatMode > 要素メソッドを呼び出すコードで最も一般的です。This is most common in code that calls a <TimeSpan_LegacyFormatMode> element method to format a TimeSpan value with a format string. 次の例では、.NET Framework 3.5.NET Framework 3.5 以前のバージョンで TimeSpan 値の書式を正常に設定していますが、.NET Framework 4.NET Framework 4 以降のバージョンでは例外がスローされます。The following example successfully formats a TimeSpan value in .NET Framework 3.5.NET Framework 3.5 and earlier versions, but throws an exception in .NET Framework 4.NET Framework 4 and later versions. サポートされていない書式指定子を使用して TimeSpan 値の書式を設定しようとすることに注意してください。これは、.NET Framework 3.5.NET Framework 3.5 以前のバージョンでは無視されます。Note that it attempts to format a TimeSpan value by using an unsupported format specifier, which is ignored in .NET Framework 3.5.NET Framework 3.5 and earlier versions.

ShowFormattingCode();
// Output from .NET Framework 3.5 and earlier versions:
//       12:30:45
// Output from .NET Framework 4:
//       Invalid Format    

Console.WriteLine("---");

ShowParsingCode();
// Output:
//       000000006 --> 6.00:00:00

void ShowFormattingCode()
{
   TimeSpan interval = new TimeSpan(12, 30, 45);
   string output;
   try {
      output = String.Format("{0:r}", interval);
   }
   catch (FormatException) {
      output = "Invalid Format";
   }
   Console.WriteLine(output);
}

void ShowParsingCode()
{
   string value = "000000006";
   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);
   }
}
Dim interval As New TimeSpan(12, 30, 45)
Dim output As String
Try
   output = String.Format("{0:r}", interval)
Catch e As FormatException
   output = "Invalid Format"
End Try
Console.WriteLine(output)
' Output from .NET Framework 3.5 and earlier versions:
'       12:30:45
' Output from .NET Framework 4:
'       Invalid Format

コードを変更できない場合は、次のいずれかの方法で TimeSpan 値の従来の書式設定を復元できます。If you cannot modify the code, you can restore the legacy formatting of TimeSpan values in one of the following ways:

  • < TimeSpan_LegacyFormatMode > 要素を含む構成ファイルを作成する。By creating a configuration file that contains the <TimeSpan_LegacyFormatMode> element. この要素の enabled 属性を true に設定すると、アプリケーションごとに従来の TimeSpan 書式設定が復元されます。Setting this element's enabled attribute to true restores legacy TimeSpan formatting on a per-application basis.

  • アプリケーションドメインの作成時に "NetFx40_TimeSpanLegacyFormatMode" 互換性スイッチを設定する。By setting the "NetFx40_TimeSpanLegacyFormatMode" compatibility switch when you create an application domain. これにより、レガシ TimeSpan の書式設定がアプリケーションドメインごとに有効になります。This enables legacy TimeSpan formatting on a per-application-domain basis. 次の例では、従来の TimeSpan の書式設定を使用するアプリケーションドメインを作成します。The following example creates an application domain that uses legacy TimeSpan formatting.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          AppDomainSetup appSetup = new AppDomainSetup();
          appSetup.SetCompatibilitySwitches( new string[] { "NetFx40_TimeSpanLegacyFormatMode" } );
          AppDomain legacyDomain = AppDomain.CreateDomain("legacyDomain", 
                                                          null, appSetup);
          legacyDomain.ExecuteAssembly("ShowTimeSpan.exe");
       }
    }
    
    Module Example
       Public Sub Main()
          Dim appSetup As New AppDomainSetup()
          appSetup.SetCompatibilitySwitches( { "NetFx40_TimeSpanLegacyFormatMode" } )
          Dim legacyDomain As AppDomain = AppDomain.CreateDomain("legacyDomain", 
                                                                 Nothing, appSetup)
          legacyDomain.ExecuteAssembly("ShowTimeSpan.exe")
       End Sub
    End Module
    

    新しいアプリケーションドメインで次のコードが実行されると、従来の TimeSpan の書式設定動作に戻ります。When the following code executes in the new application domain, it reverts to legacy TimeSpan formatting behavior.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          TimeSpan interval = DateTime.Now - DateTime.Now.Date;
          string msg = String.Format("Elapsed Time Today: {0:d} hours.",
                                     interval);
          Console.WriteLine(msg);
       }
    }
    // The example displays the following output:
    //       Elapsed Time Today: 01:40:52.2524662 hours.
    
    Module Example
       Public Sub Main()
          Dim interval As TimeSpan = Date.Now - Date.Now.Date
          Dim msg As String = String.Format("Elapsed Time Today: {0:d} hours.",
                                             interval)
          Console.WriteLine(msg)
       End Sub
    End Module
    ' The example displays output like the following:
    '       Elapsed Time Today: 01:40:52.2524662 hours.
    

コンストラクター

TimeSpan(Int32, Int32, Int32)

TimeSpan 構造体の新しいインスタンスを、指定した時間数、分数、秒数に初期化します。Initializes a new instance of the TimeSpan structure to a specified number of hours, minutes, and seconds.

TimeSpan(Int32, Int32, Int32, Int32)

TimeSpan 構造体の新しいインスタンスを指定された日数、時間数、分数、秒数に初期化します。Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, and seconds.

TimeSpan(Int32, Int32, Int32, Int32, Int32)

TimeSpan 構造体の新しいインスタンスを、指定した日数、時間数、分数、秒数、ミリ秒数に初期化します。Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, seconds, and milliseconds.

TimeSpan(Int64)

TimeSpan 構造体の新しいインスタンスを、指定したタイマー刻み数に初期化します。Initializes a new instance of the TimeSpan structure to the specified number of ticks.

フィールド

MaxValue

TimeSpan の最大値を表します。Represents the maximum TimeSpan value. このフィールドは読み取り専用です。This field is read-only.

MinValue

TimeSpan の最小値を表します。Represents the minimum TimeSpan value. このフィールドは読み取り専用です。This field is read-only.

TicksPerDay

タイマー刻みの数を 1 日で表します。Represents the number of ticks in 1 day. このフィールドは定数です。This field is constant.

TicksPerHour

タイマー刻みの数を 1 時間で表します。Represents the number of ticks in 1 hour. このフィールドは定数です。This field is constant.

TicksPerMillisecond

タイマー刻みの数を 1 ミリ秒で表します。Represents the number of ticks in 1 millisecond. このフィールドは定数です。This field is constant.

TicksPerMinute

タイマー刻みの数を 1 分で表します。Represents the number of ticks in 1 minute. このフィールドは定数です。This field is constant.

TicksPerSecond

タイマー刻みの数を 1 秒で表します。Represents the number of ticks in 1 second.

Zero

0 の TimeSpan 値を表します。Represents the zero TimeSpan value. このフィールドは読み取り専用です。This field is read-only.

プロパティ

Days

現在の TimeSpan 構造体によって表される時間間隔の日要素を取得します。Gets the days component of the time interval represented by the current TimeSpan structure.

Hours

現在の TimeSpan 構造体が表す時間間隔の時間の部分を取得します。Gets the hours component of the time interval represented by the current TimeSpan structure.

Milliseconds

現在の TimeSpan 構造体が表す時間間隔のミリ秒の部分を取得します。Gets the milliseconds component of the time interval represented by the current TimeSpan structure.

Minutes

現在の TimeSpan 構造体が表す時間間隔の分の部分を取得します。Gets the minutes component of the time interval represented by the current TimeSpan structure.

Seconds

現在の TimeSpan 構造体が表す時間間隔の秒の部分を取得します。Gets the seconds component of the time interval represented by the current TimeSpan structure.

Ticks

現在の TimeSpan 構造体の値を表すタイマー刻みの数を取得します。Gets the number of ticks that represent the value of the current TimeSpan structure.

TotalDays

整数部と小数部から成る日数で表される、現在の TimeSpan 構造体の値を取得します。Gets the value of the current TimeSpan structure expressed in whole and fractional days.

TotalHours

整数部と小数部から成る時間数で表される、現在の TimeSpan 構造体の値を取得します。Gets the value of the current TimeSpan structure expressed in whole and fractional hours.

TotalMilliseconds

整数部と小数部から成るミリ秒数で表される、現在の TimeSpan 構造体の値を取得します。Gets the value of the current TimeSpan structure expressed in whole and fractional milliseconds.

TotalMinutes

整数部と小数部から成る分数で表される、現在の TimeSpan 構造体の値を取得します。Gets the value of the current TimeSpan structure expressed in whole and fractional minutes.

TotalSeconds

整数部と小数部から成る秒数で表される、現在の TimeSpan 構造体の値を取得します。Gets the value of the current TimeSpan structure expressed in whole and fractional seconds.

メソッド

Add(TimeSpan)

指定した TimeSpan オブジェクトとこのインスタンスを合計した値を持つ新しい TimeSpan オブジェクトを返します。Returns a new TimeSpan object whose value is the sum of the specified TimeSpan object and this instance.

Compare(TimeSpan, TimeSpan)

2 つの TimeSpan 値を比較し、第 1 の値が第 2 の値よりも短いか、同じか、または長いかを示す整数を返します。Compares two TimeSpan values and returns an integer that indicates whether the first value is shorter than, equal to, or longer than the second value.

CompareTo(Object)

このインスタンスと指定したオブジェクトを比較し、このインスタンスが指定したオブジェクトよりも短いか、同じか、または長いかを示す整数を返します。Compares this instance to a specified object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the specified object.

CompareTo(TimeSpan)

このインスタンスと指定した TimeSpan オブジェクトを比較し、このインスタンスが指定した TimeSpan オブジェクトよりも短いか、同じか、または長いかを示す整数を返します。Compares this instance to a specified TimeSpan object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the TimeSpan object.

Divide(Double)

このインスタンスと指定した divisor による除算の結果を値とする、新しい TimeSpan オブジェクトが返されます。Returns a new TimeSpan object which value is the result of division of this instance and the specified divisor.

Divide(TimeSpan)

このインスタンスと指定した ts による除算の結果を値とする、新しい Double の値が返されます。Returns a new Double value which is the result of division of this instance and the specified ts.

Duration()

値が現在の TimeSpan オブジェクトの絶対値である、新しい TimeSpan オブジェクトを返します。Returns a new TimeSpan object whose value is the absolute value of the current TimeSpan object.

Equals(Object)

このインスタンスが指定されたオブジェクトに等しいかどうかを示す値を返します。Returns a value indicating whether this instance is equal to a specified object.

Equals(TimeSpan)

対象のインスタンスが、指定した TimeSpan オブジェクトに等しいかどうかを示す値を返します。Returns a value indicating whether this instance is equal to a specified TimeSpan object.

Equals(TimeSpan, TimeSpan)

TimeSpan の指定した 2 つのインスタンスが等しいかどうかを示す値を返します。Returns a value that indicates whether two specified instances of TimeSpan are equal.

FromDays(Double)

指定した日数を表す TimeSpan を返します。日数は、ミリ秒単位の精度で指定します。Returns a TimeSpan that represents a specified number of days, where the specification is accurate to the nearest millisecond.

FromHours(Double)

指定した時間数を表す TimeSpan を返します。時間数は、ミリ秒単位の精度で指定します。Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.

FromMilliseconds(Double)

指定されたミリ秒数を表す TimeSpan を返します。Returns a TimeSpan that represents a specified number of milliseconds.

FromMinutes(Double)

指定した分数を表す TimeSpan を返します。分数は、ミリ秒単位の精度で指定します。Returns a TimeSpan that represents a specified number of minutes, where the specification is accurate to the nearest millisecond.

FromSeconds(Double)

指定した秒数を表す TimeSpan を返します。秒数は、ミリ秒単位の精度で指定します。Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond.

FromTicks(Int64)

指定した時間を表す TimeSpan を返します。時間は、タイマー刻み単位で指定します。Returns a TimeSpan that represents a specified time, where the specification is in units of ticks.

GetHashCode()

このインスタンスのハッシュ コードを返します。Returns a hash code for this instance.

Multiply(Double)

このインスタンスと指定した factor による乗算の結果を値とする、新しい TimeSpan オブジェクトが返されます。Returns a new TimeSpan object which value is the result of multiplication of this instance and the specified factor.

Negate()

このインスタンスの値とは符号が逆の値を持つ新しい TimeSpan オブジェクトを返します。Returns a new TimeSpan object whose value is the negated value of this instance.

Parse(ReadOnlySpan<Char>, IFormatProvider)

指定したカルチャ固有の書式情報を使用して、時間間隔のスパン表現を等価の TimeSpan に変換します。Converts the span representation of a time interval to its TimeSpan equivalent by using the specified culture-specific format information.

Parse(String)

時間間隔の文字列形式を等価の TimeSpan に変換します。Converts the string representation of a time interval to its TimeSpan equivalent.

Parse(String, IFormatProvider)

指定したカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific format information.

ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles)

指定した書式とカルチャ固有の書式情報を使用して、時間間隔の文字スパンを等価の TimeSpan に変換します。Converts the char span of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly.

ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpanStyles)

指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。Converts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. 文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。The format of the string representation must match one of the specified formats exactly.

ParseExact(String, String, IFormatProvider)

指定した書式とカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly.

ParseExact(String, String, IFormatProvider, TimeSpanStyles)

指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly.

ParseExact(String, String[], IFormatProvider)

指定した書式指定文字列の配列とカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。Converts the string representation of a time interval to its TimeSpan equivalent by using the specified array of format strings and culture-specific format information. 文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。The format of the string representation must match one of the specified formats exactly.

ParseExact(String, String[], IFormatProvider, TimeSpanStyles)

指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。Converts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. 文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。The format of the string representation must match one of the specified formats exactly.

Subtract(TimeSpan)

指定した TimeSpan オブジェクトとこのインスタンスとの差を示す値を持つ、新しい TimeSpan オブジェクトを返します。Returns a new TimeSpan object whose value is the difference between the specified TimeSpan object and this instance.

ToString()

現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。Converts the value of the current TimeSpan object to its equivalent string representation.

ToString(String)

指定した書式を使用して、現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format.

ToString(String, IFormatProvider)

指定した書式とカルチャ固有の書式情報を使用して、現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format and culture-specific formatting information.

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

現在の timespan 数インスタンスの値の、指定した文字スパンへの書式設定を試みます。Tries to format the value of the current timespan number instance into the provided span of characters.

TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

指定したカルチャ固有の書式情報を使用して、時間間隔のスパン表現を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the span representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, TimeSpan)

時間間隔のスパン表現を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the span representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

TryParse(String, IFormatProvider, TimeSpan)

指定したカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded.

TryParse(String, TimeSpan)

時間間隔の文字列形式を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the string representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

指定した書式とカルチャ固有の書式情報を使用して、指定した時間間隔のスパン表現を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information, and returns a value that indicates whether the conversion succeeded. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles, TimeSpan)

指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、指定した時間間隔のスパン表現を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly.

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpan)

指定した書式とカルチャ固有の書式情報を使用して、指定した時間間隔のスパン表現を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information, and returns a value that indicates whether the conversion succeeded. 文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。The format of the string representation must match one of the specified formats exactly.

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、指定した時間間隔のスパン表現を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. 文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。The format of the string representation must match one of the specified formats exactly.

TryParseExact(String, String, IFormatProvider, TimeSpan)

指定した書式とカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information, and returns a value that indicates whether the conversion succeeded. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly.

TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)

指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、時間間隔の文字列形式を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly.

TryParseExact(String, String[], IFormatProvider, TimeSpan)

指定した書式とカルチャ固有の書式情報を使用して、指定した文字列形式の時間間隔を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information, and returns a value that indicates whether the conversion succeeded. 文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。The format of the string representation must match one of the specified formats exactly.

TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、指定した文字列形式の時間間隔を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. 文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。The format of the string representation must match one of the specified formats exactly.

演算子

Addition(TimeSpan, TimeSpan)

指定した 2 つの TimeSpan インスタンスを加算します。Adds two specified TimeSpan instances.

Division(TimeSpan, Double)

timeSpan インスタンスと指定した divisor による除算の結果を値とする、新しい TimeSpan オブジェクトが返されます。Returns a new TimeSpan object which value is the result of division of timeSpan instance and the specified divisor.

Division(TimeSpan, TimeSpan)

t1 インスタンスと指定した t2 による除算の結果である、新しい Double の値が返されます。Returns a new Double value which is the result of division of t1 instance and the specified t2.

Equality(TimeSpan, TimeSpan)

2 つの TimeSpan インスタンスが等しいかどうかを示します。Indicates whether two TimeSpan instances are equal.

GreaterThan(TimeSpan, TimeSpan)

指定した TimeSpan が、指定したもう 1 つの TimeSpan より大きいかどうかを示します。Indicates whether a specified TimeSpan is greater than another specified TimeSpan.

GreaterThanOrEqual(TimeSpan, TimeSpan)

指定した TimeSpan が、指定したもう 1 つの TimeSpan 以上かどうかを示します。Indicates whether a specified TimeSpan is greater than or equal to another specified TimeSpan.

Inequality(TimeSpan, TimeSpan)

TimeSpan の 2 つのインスタンスが等しくないかどうかを示します。Indicates whether two TimeSpan instances are not equal.

LessThan(TimeSpan, TimeSpan)

指定した TimeSpan が、指定したもう 1 つの TimeSpan 未満かどうかを示します。Indicates whether a specified TimeSpan is less than another specified TimeSpan.

LessThanOrEqual(TimeSpan, TimeSpan)

指定した TimeSpan が、指定したもう 1 つの TimeSpan 以下かどうかを示します。Indicates whether a specified TimeSpan is less than or equal to another specified TimeSpan.

Multiply(Double, TimeSpan)

timeSpan インスタンスと指定した factor による乗算の結果を値とする、新しい TimeSpan オブジェクトが返されます。Returns a new TimeSpan object which value is the result of multiplication of timeSpan instance and the specified factor.

Multiply(TimeSpan, Double)
Subtraction(TimeSpan, TimeSpan)

指定したもう 1 つの TimeSpan から、指定した TimeSpan を減算します。Subtracts a specified TimeSpan from another specified TimeSpan.

UnaryNegation(TimeSpan)

指定したインスタンスの値とは符号が逆の値を持つ TimeSpan を返します。Returns a TimeSpan whose value is the negated value of the specified instance.

UnaryPlus(TimeSpan)

TimeSpan の指定したインスタンスを返します。Returns the specified instance of TimeSpan.

明示的なインターフェイスの実装

IComparable.CompareTo(Object)

適用対象

こちらもご覧ください