DateTime.AddMilliseconds(Double) メソッド

定義

このインスタンスの値に、指定されたミリ秒数を加算した新しい DateTime を返します。

public:
 DateTime AddMilliseconds(double value);
public DateTime AddMilliseconds (double value);
member this.AddMilliseconds : double -> DateTime
Public Function AddMilliseconds (value As Double) As DateTime

パラメーター

value
Double

整数部と小数部から成るミリ秒数。 value パラメーターは、正または負のどちらの場合もあります。 この値は、近似値の整数に丸められます。

戻り値

このインスタンスで表された日付と時刻に value で表されたミリ秒数を加算した値を保持するオブジェクト。

例外

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

次の例では、 メソッドを AddMilliseconds 使用して 1 ミリ秒と 1.5 ミリ秒を値に DateTime 追加します。 その後、新しい各値が表示され、その値と元の値の差が表示されます。 差は、期間とティック数の両方として表示されます。 この例では、1 ミリ秒が 10,000 ティックに等しいことを明確にします。 また、加算を実行する前にミリ秒の小数部が丸められることも示しています。元の DateTime 日付に 1.5 ミリ秒を加算した結果の値は、元の日付より 2 ミリ秒大きくなります。

string dateFormat = "MM/dd/yyyy hh:mm:ss.fffffff";
DateTime date1 = new DateTime(2010, 9, 8, 16, 0, 0);
Console.WriteLine("Original date: {0} ({1:N0} ticks)\n",
                  date1.ToString(dateFormat), date1.Ticks);

DateTime date2 = date1.AddMilliseconds(1);
Console.WriteLine("Second date:   {0} ({1:N0} ticks)",
                  date2.ToString(dateFormat), date2.Ticks);
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)\n",
                  date2 - date1, date2.Ticks - date1.Ticks);

DateTime date3 = date1.AddMilliseconds(1.5);
Console.WriteLine("Third date:    {0} ({1:N0} ticks)",
                  date3.ToString(dateFormat), date3.Ticks);
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)",
                  date3 - date1, date3.Ticks - date1.Ticks);
// The example displays the following output:
//    Original date: 09/08/2010 04:00:00.0000000 (634,195,584,000,000,000 ticks)
//
//    Second date:   09/08/2010 04:00:00.0010000 (634,195,584,000,010,000 ticks)
//    Difference between dates: 00:00:00.0010000 (10,000 ticks)
//
//    Third date:    09/08/2010 04:00:00.0020000 (634,195,584,000,020,000 ticks)
//    Difference between dates: 00:00:00.0020000 (20,000 ticks)
let dateFormat = "MM/dd/yyyy hh:mm:ss.fffffff"
let date1 = DateTime(2010, 9, 8, 16, 0, 0)
printfn $"Original date: {date1.ToString dateFormat} ({date1.Ticks:N0} ticks)\n"

let date2 = date1.AddMilliseconds 1
printfn $"Second date:   {date2.ToString dateFormat} ({date2.Ticks:N0} ticks)"
printfn $"Difference between dates: {date2 - date1} ({date2.Ticks - date1.Ticks:N0} ticks)\n"

let date3 = date1.AddMilliseconds 1.5
printfn $"Third date:    {date3.ToString dateFormat} ({date3.Ticks:N0} ticks)"
printfn $"Difference between dates: {date3 - date1} ({date3.Ticks - date1.Ticks:N0} ticks)"

// The example displays the following output:
//    Original date: 09/08/2010 04:00:00.0000000 (634,195,584,000,000,000 ticks)
//
//    Second date:   09/08/2010 04:00:00.0010000 (634,195,584,000,010,000 ticks)
//    Difference between dates: 00:00:00.0010000 (10,000 ticks)
//
//    Third date:    09/08/2010 04:00:00.0020000 (634,195,584,000,020,000 ticks)
//    Difference between dates: 00:00:00.0020000 (20,000 ticks)
Dim dateFormat As String = "MM/dd/yyyy hh:mm:ss.fffffff" 
Dim date1 As Date = #09/08/2010 16:00#
Console.WriteLine("Original date: {0} ({1:N0} ticks)", _
                  date1.ToString(dateFormat), date1.Ticks)
Console.WriteLine()

Dim date2 As Date = date1.AddMilliseconds(1)
Console.WriteLine("Second date:   {0} ({1:N0} ticks)", _
                  date2.ToString(dateFormat), date2.Ticks)
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)", _
                  date2 - date1, date2.Ticks - date1.Ticks)                        
Console.WriteLine()

Dim date3 As Date = date1.AddMilliseconds(1.5)
Console.WriteLine("Third date:    {0} ({1:N0} ticks)", _
                  date3.ToString(dateFormat), date3.Ticks)
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)", _
                  date3 - date1, date3.Ticks - date1.Ticks)                        
' The example displays the following output:
'    Original date: 09/08/2010 04:00:00.0000000 (634,195,584,000,000,000 ticks)
'    
'    Second date:   09/08/2010 04:00:00.0010000 (634,195,584,000,010,000 ticks)
'    Difference between dates: 00:00:00.0010000 (10,000 ticks)
'    
'    Third date:    09/08/2010 04:00:00.0020000 (634,195,584,000,020,000 ticks)
'    Difference between dates: 00:00:00.0020000 (20,000 ticks)

注釈

このメソッドは、この DateTimeの値を変更しません。 代わりに、この操作の結果である値を持つ新しい DateTime が返されます。

value 小数部は、ミリ秒の小数部です。 たとえば、4.5 は 4 ミリ秒と 5000 ティックに相当し、1 ミリ秒 = 10000 ティックです。

.NET 6 以前のバージョンでは、 value パラメーターは最も近いミリ秒に丸められます。 .NET 7 以降のバージョンでは、 パラメーターのvalue完全なDouble有効桁数が使用されます。 ただし、浮動小数点演算の本質的な不正確さにより、結果の精度は異なります。

適用対象

こちらもご覧ください