TimeSpan.Add(TimeSpan) メソッド

定義

指定した TimeSpan オブジェクトとこのインスタンスを合計した値を持つ新しい TimeSpan オブジェクトを返します。

public:
 TimeSpan Add(TimeSpan ts);
public TimeSpan Add (TimeSpan ts);
member this.Add : TimeSpan -> TimeSpan
Public Function Add (ts As TimeSpan) As TimeSpan

パラメーター

ts
TimeSpan

加算する時間間隔。

戻り値

このインスタンスの値と ts の値の合計を表す新しいオブジェクト。

例外

結果 TimeSpanTimeSpan.MinValue より小さいか、 TimeSpan.MaxValue より大きくなります。

次の例では、 メソッドを Add 呼び出して、時間間隔の配列内の各要素を基本 TimeSpan 値に追加します。

TimeSpan baseTimeSpan = new TimeSpan(1, 12, 15, 16);

// Create an array of timespan intervals.
TimeSpan[] intervals = { 
   TimeSpan.FromDays(1.5), 
   TimeSpan.FromHours(1.5), 
   TimeSpan.FromMinutes(45), 
   TimeSpan.FromMilliseconds(505),
   new TimeSpan(1, 17, 32, 20), 
   new TimeSpan(-8, 30, 0) 
};

// Calculate a new time interval by adding each element to the base interval.
foreach (var interval in intervals)
   Console.WriteLine(@"{0,-10:g} {3} {1,15:%d\:hh\:mm\:ss\.ffff} = {2:%d\:hh\:mm\:ss\.ffff}", 
                     baseTimeSpan, interval, baseTimeSpan.Add(interval), 
                     interval < TimeSpan.Zero ? "-" : "+");

// The example displays the following output:
//       1:12:15:16 + 1:12:00:00.0000 = 3:00:15:16.0000
//       1:12:15:16 + 0:01:30:00.0000 = 1:13:45:16.0000
//       1:12:15:16 + 0:00:45:00.0000 = 1:13:00:16.0000
//       1:12:15:16 + 0:00:00:00.5050 = 1:12:15:16.5050
//       1:12:15:16 + 1:17:32:20.0000 = 3:05:47:36.0000
//       1:12:15:16 - 0:07:30:00.0000 = 1:04:45:16.0000
open System

let baseTimeSpan = TimeSpan(1, 12, 15, 16)

// Create a list of timespan intervals.
let intervals = 
    [ TimeSpan.FromDays 1.5 
      TimeSpan.FromHours 1.5 
      TimeSpan.FromMinutes 45
      TimeSpan.FromMilliseconds 505
      TimeSpan(1, 17, 32, 20) 
      TimeSpan(-8, 30, 0) ]

// Calculate a new time interval by adding each element to the base interval.
for interval in intervals do
   printfn $"""{baseTimeSpan,-10:g} {if interval < TimeSpan.Zero then "-" else "+"} {interval.ToString "%d\:hh\:mm\:ss\.ffff",15} = {baseTimeSpan.Add(interval).ToString "%d\:hh\:mm\:ss\.ffff"}""" 

// The example displays the following output:
//       1:12:15:16 + 1:12:00:00.0000 = 3:00:15:16.0000
//       1:12:15:16 + 0:01:30:00.0000 = 1:13:45:16.0000
//       1:12:15:16 + 0:00:45:00.0000 = 1:13:00:16.0000
//       1:12:15:16 + 0:00:00:00.5050 = 1:12:15:16.5050
//       1:12:15:16 + 1:17:32:20.0000 = 3:05:47:36.0000
//       1:12:15:16 - 0:07:30:00.0000 = 1:04:45:16.0000
Module Example
   Public Sub Main()
      Dim baseTimeSpan As New TimeSpan(1, 12, 15, 16)
      ' Create an array of timespan intervals.
      Dim intervals() As TimeSpan = { TimeSpan.FromDays(1.5), 
                                      TimeSpan.FromHours(1.5), 
                                      TimeSpan.FromMinutes(45), 
                                      TimeSpan.FromMilliseconds(505),
                                      New TimeSpan(1, 17, 32, 20), 
                                      New TimeSpan(-8, 30, 0) }
      ' Calculate a new time interval by adding each element to the base interval.
      For Each interval In intervals
         Console.WriteLine("{0,-10:g} {3} {1,15:%d\:hh\:mm\:ss\.ffff} = {2:%d\:hh\:mm\:ss\.ffff}", baseTimeSpan, interval,
                           baseTimeSpan.Add(interval), If(interval < TimeSpan.Zero, "-", "+"))
      Next                                      
   End Sub
End Module
' The example displays the following output:
'       1:12:15:16 + 1:12:00:00.0000 = 3:00:15:16.0000
'       1:12:15:16 + 0:01:30:00.0000 = 1:13:45:16.0000
'       1:12:15:16 + 0:00:45:00.0000 = 1:13:00:16.0000
'       1:12:15:16 + 0:00:00:00.5050 = 1:12:15:16.5050
'       1:12:15:16 + 1:17:32:20.0000 = 3:05:47:36.0000
'       1:12:15:16 - 0:07:30:00.0000 = 1:04:45:16.0000

注釈

戻り値は と TimeSpan.MaxValueの間TimeSpan.MinValueである必要があります。それ以外の場合は例外がスローされます。

戻り値は新 TimeSpanしい です。元 TimeSpan の 値は変更されません。

適用対象

こちらもご覧ください