DateTime.AddMilliseconds(Double) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回新的 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
精確度。 不過,由於浮點數數學的固有不精確性,因此產生的精確度會有所不同。