次の方法で共有


TimeSpan.Add メソッド

指定した TimeSpan と、このインスタンスを加算します。

Public Function Add( _
   ByVal ts As TimeSpan _) As TimeSpan
[C#]
public TimeSpan Add(TimeSpants);
[C++]
public: TimeSpan Add(TimeSpants);
[JScript]
public function Add(
   ts : TimeSpan) : TimeSpan;

パラメータ

戻り値

このインスタンスの値と ts の値の合計を表す TimeSpan

例外

例外の種類 条件
OverflowException 生成される TimeSpanMinValue より小さい値か、 MaxValue より大きい値です。

解説

戻り値は、 MinValueMaxValue の間の数値であることが必要です。それ以外の場合は例外がスローされます。

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

使用例

[Visual Basic, C#, C++] TimeSpan オブジェクトの複数のペアを作成し、各ペアの和を Add メソッドで計算するコード例を次に示します。

 
' Example of the TimeSpan.Add( ) and TimeSpan.Subtract( ) methods.
Imports System
Imports Microsoft.VisualBasic

Module TimeSpanAddSubDemo
    
    Const dataFmt As String = "{0,-24}{1,24}"

    ' Pad the end of a TimeSpan string with spaces if it does not 
    ' contain milliseconds.
    Function Align( interval As TimeSpan ) As String

        Dim intervalStr As String = interval.ToString( )
        Dim pointIndex  As Integer = intervalStr.IndexOf( ":"c )

        pointIndex = intervalStr.IndexOf( "."c, pointIndex )
        If pointIndex < 0 Then intervalStr &= "        "
        Align = intervalStr
    End Function
    
    ' Display TimeSpan parameters and their sum and difference.
    Sub ShowTimeSpanSumDiff( Left as TimeSpan, Right as TimeSpan )

        Console.WriteLine( )
        Console.WriteLine( dataFmt, "TimeSpan Left", Align( Left ) )
        Console.WriteLine( dataFmt, "TimeSpan Right", Align( Right ) )
        Console.WriteLine( dataFmt, "Left.Add( Right )", _
            Align( Left.Add( Right ) ) )
        Console.WriteLine( dataFmt, "Left.Subtract( Right )", _
            Align( Left.Subtract( Right ) ) )
    End Sub

    Sub Main( )
        Console.WriteLine( _
            "This example of the TimeSpan.Add( ) and " & _
            "TimeSpan.Subtract( ) " & vbCrLf & "methods " & _
            "generates the following output by creating several " & _
            vbCrLf & "pairs of TimeSpan objects and calculating " & _
            "and displaying " & vbCrLf & "the sum " & _
            "and difference of each." )

        ' Create pairs of TimeSpan objects.
        ShowTimeSpanSumDiff( _
            new TimeSpan( 1, 20, 0 ), _
            new TimeSpan( 0, 45, 10 ) )
        ShowTimeSpanSumDiff( _
            new TimeSpan( 1, 10, 20, 30, 40 ), _
            new TimeSpan( -1, 2, 3, 4, 5 ) )
        ShowTimeSpanSumDiff( _
            new TimeSpan( 182, 12, 30, 30, 505 ), _
            new TimeSpan( 182, 11, 29, 29, 495 ) )
        ShowTimeSpanSumDiff( _
            new TimeSpan( 888888888888888 ), _
            new TimeSpan( 999999999999999 ) )
    End Sub
End Module 

' This example of the TimeSpan.Add( ) and TimeSpan.Subtract( )
' methods generates the following output by creating several
' pairs of TimeSpan objects and calculating and displaying
' the sum and difference of each.
' 
' TimeSpan Left                   01:20:00
' TimeSpan Right                  00:45:10
' Left.Add( Right )               02:05:10
' Left.Subtract( Right )          00:34:50
' 
' TimeSpan Left                 1.10:20:30.0400000
' TimeSpan Right                 -21:56:55.9950000
' Left.Add( Right )               12:23:34.0450000
' Left.Subtract( Right )        2.08:17:26.0350000
' 
' TimeSpan Left               182.12:30:30.5050000
' TimeSpan Right              182.11:29:29.4950000
' Left.Add( Right )           365.00:00:00
' Left.Subtract( Right )          01:01:01.0100000
' 
' TimeSpan Left              1028.19:21:28.8888888
' TimeSpan Right             1157.09:46:39.9999999
' Left.Add( Right )          2186.05:08:08.8888887
' Left.Subtract( Right )     -128.14:25:11.1111111

[C#] 
// Example of the TimeSpan.Add( ) and TimeSpan.Subtract( ) methods.
using System;

class TimeSpanAddSubDemo
{
    const string dataFmt = "{0,-24}{1,24}" ;

    // Pad the end of a TimeSpan string with spaces if it does not 
    // contain milliseconds.
    static string Align( TimeSpan interval )
    {
        string  intervalStr = interval.ToString( );
        int     pointIndex = intervalStr.IndexOf( ':' );

        pointIndex = intervalStr.IndexOf( '.', pointIndex );
        if( pointIndex < 0 ) intervalStr += "        ";
        return intervalStr;
    } 

    // Display TimeSpan parameters and their sum and difference.
    static void ShowTimeSpanSumDiff( TimeSpan Left, TimeSpan Right )
    {
        Console.WriteLine( );
        Console.WriteLine( dataFmt, "TimeSpan Left", Align( Left ) );
        Console.WriteLine( dataFmt, "TimeSpan Right", Align( Right ) );
        Console.WriteLine( dataFmt, "Left.Add( Right )", 
            Align( Left.Add( Right ) ) );
        Console.WriteLine( dataFmt, "Left.Subtract( Right )", 
            Align( Left.Subtract( Right ) ) );
    }

    static void Main( )
    {
        Console.WriteLine( 
            "This example of the TimeSpan.Add( ) and " +
            "TimeSpan.Subtract( ) \nmethods generates the " +
            "following output by creating several \npairs of " +
            "TimeSpan objects and calculating and displaying \n" +
            "the sum and difference of each." );

        // Create pairs of TimeSpan objects.
        ShowTimeSpanSumDiff( 
            new TimeSpan( 1, 20, 0 ), 
            new TimeSpan( 0, 45, 10 ) );
        ShowTimeSpanSumDiff( 
            new TimeSpan( 1, 10, 20, 30, 40 ), 
            new TimeSpan( -1, 2, 3, 4, 5 ) );
        ShowTimeSpanSumDiff( 
            new TimeSpan( 182, 12, 30, 30, 505 ), 
            new TimeSpan( 182, 11, 29, 29, 495 ) );
        ShowTimeSpanSumDiff( 
            new TimeSpan( 888888888888888 ), 
            new TimeSpan( 999999999999999 ) );
    } 
} 

/*
This example of the TimeSpan.Add( ) and TimeSpan.Subtract( )
methods generates the following output by creating several
pairs of TimeSpan objects and calculating and displaying
the sum and difference of each.

TimeSpan Left                   01:20:00
TimeSpan Right                  00:45:10
Left.Add( Right )               02:05:10
Left.Subtract( Right )          00:34:50

TimeSpan Left                 1.10:20:30.0400000
TimeSpan Right                 -21:56:55.9950000
Left.Add( Right )               12:23:34.0450000
Left.Subtract( Right )        2.08:17:26.0350000

TimeSpan Left               182.12:30:30.5050000
TimeSpan Right              182.11:29:29.4950000
Left.Add( Right )           365.00:00:00
Left.Subtract( Right )          01:01:01.0100000

TimeSpan Left              1028.19:21:28.8888888
TimeSpan Right             1157.09:46:39.9999999
Left.Add( Right )          2186.05:08:08.8888887
Left.Subtract( Right )     -128.14:25:11.1111111
*/ 

[C++] 
// Example of the TimeSpan::Add( ) and TimeSpan::Subtract( ) methods.
#using <mscorlib.dll>
using namespace System;

// Pad the end of a TimeSpan string with spaces if it does not 
// contain milliseconds.
String* Align( TimeSpan interval )
{
    String*  intervalStr = interval.ToString( );
    int pointIndex = intervalStr->IndexOf( ':' );

    pointIndex = intervalStr->IndexOf( '.', pointIndex );
    if( pointIndex < 0 ) 
        intervalStr = String::Concat( intervalStr, S"        " );
    return intervalStr;
}

// Display TimeSpan parameters and their sum and difference.
static void ShowTimeSpanSumDiff( TimeSpan Left, TimeSpan Right )
{
    String* dataFmt = S"{0,-24}{1,24}" ;

    Console::WriteLine( );
    Console::WriteLine( dataFmt, S"TimeSpan Left", Align( Left ) );
    Console::WriteLine( dataFmt, S"TimeSpan Right", Align( Right ) );
    Console::WriteLine( dataFmt, S"Left.Add( Right )", 
        Align( Left.Add( Right ) ) );
    Console::WriteLine( dataFmt, S"Left.Subtract( Right )", 
        Align( Left.Subtract( Right ) ) );
} 

void main( )
{
    Console::WriteLine( 
        S"This example of the TimeSpan::Add( ) and " 
        S"TimeSpan::Subtract( ) \nmethods generates the " 
        S"following output by creating several \npairs of " 
        S"TimeSpan objects and calculating and displaying \n" 
        S"the sum and difference of each." );

    // Create pairs of TimeSpan objects.
    ShowTimeSpanSumDiff( 
        TimeSpan( 1, 20, 0 ), 
        TimeSpan( 0, 45, 10 ) );
    ShowTimeSpanSumDiff( 
        TimeSpan( 1, 10, 20, 30, 40 ), 
        TimeSpan( -1, 2, 3, 4, 5 ) );
    ShowTimeSpanSumDiff( 
        TimeSpan( 182, 12, 30, 30, 505 ), 
        TimeSpan( 182, 11, 29, 29, 495 ) );
    ShowTimeSpanSumDiff( 
        TimeSpan( 888888888888888 ), 
        TimeSpan( 999999999999999 ) );
} 

/*
This example of the TimeSpan::Add( ) and TimeSpan::Subtract( )
methods generates the following output by creating several
pairs of TimeSpan objects and calculating and displaying
the sum and difference of each.

TimeSpan Left                   01:20:00
TimeSpan Right                  00:45:10
Left.Add( Right )               02:05:10
Left.Subtract( Right )          00:34:50

TimeSpan Left                 1.10:20:30.0400000
TimeSpan Right                 -21:56:55.9950000
Left.Add( Right )               12:23:34.0450000
Left.Subtract( Right )        2.08:17:26.0350000

TimeSpan Left               182.12:30:30.5050000
TimeSpan Right              182.11:29:29.4950000
Left.Add( Right )           365.00:00:00
Left.Subtract( Right )          01:01:01.0100000

TimeSpan Left              1028.19:21:28.8888888
TimeSpan Right             1157.09:46:39.9999999
Left.Add( Right )          2186.05:08:08.8888887
Left.Subtract( Right )     -128.14:25:11.1111111
*/ 

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

TimeSpan 構造体 | TimeSpan メンバ | System 名前空間 | DateTime.Add