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 所表示毫秒數的總和。

例外狀況

範例

下列範例會使用 方法, AddMilliseconds 將一毫秒和 1.5 毫秒新增至 DateTime 值。 然後會顯示每個新值,並顯示其與原始值之間的差異。 差異會顯示為時間範圍和一些刻度。 此範例清楚指出一毫秒等於 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 個刻度,其中一毫秒 = 10000 個刻度。

在 .NET 6 和舊版中 value ,參數會四捨五入至最接近的毫秒。 在 .NET 7 和更新版本中,會使用 參數的完整 Doublevalue 精確度。 不過,由於浮點數數學的固有不精確性,因此產生的精確度會有所不同。

適用於

另請參閱