Freigeben über


DateTime.AddMilliseconds(Double) Methode

Definition

Gibt einen neuen DateTime-Wert zurück, der die angegebene Anzahl von Millisekunden zum Wert dieser Instanz addiert.

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

Parameter

value
Double

Eine Zahl, die aus ganzen Millisekunden und dem Bruchteil einer Millisekunde besteht. Der value-Parameter kann negativ oder positiv sein. Beachten Sie, dass dieser Wert auf die nächste Ganzzahl gerundet wird.

Gibt zurück

Ein Objekt, dessen Wert die Summe aus der von dieser Instanz dargestellten Datums- und Uhrzeitangabe und der durch value dargestellten Anzahl von Millisekunden ist.

Ausnahmen

Das resultierende DateTime ist kleiner als DateTime.MinValue oder größer als DateTime.MaxValue.

Beispiele

Im folgenden Beispiel wird die AddMilliseconds -Methode verwendet, um einem Wert eine DateTime Millisekunde und 1,5 Millisekunden hinzuzufügen. Anschließend wird jeder neue Wert und der Unterschied zwischen dem Wert und dem ursprünglichen Wert angezeigt. Der Unterschied wird sowohl als Zeitspanne als auch als Anzahl von Teilstrichen angezeigt. Im Beispiel wird deutlich, dass eine Millisekunde 10.000 Ticks entspricht. Es zeigt auch, dass Bruchteile von Millisekunden gerundet werden, bevor das Hinzufügen durchgeführt wird. Der Wert, der DateTime sich aus dem Hinzufügen von 1,5 Millisekunden zum ursprünglichen Datum ergibt, ist 2 Millisekunden größer als das ursprüngliche Datum.

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)

Hinweise

Diese Methode ändert nicht den Wert dieses DateTime. Stattdessen wird ein neues DateTime zurückgegeben, dessen Wert das Ergebnis dieses Vorgangs ist.

Der Bruchteil von value ist der Bruchteil eines Millisekundenteils. Beispielsweise entspricht 4,5 4 Millisekunden und 5000 Ticks, wobei eine Millisekunde = 10000 Ticks ist.

In .NET 6 und früheren Versionen wird der value Parameter auf die nächste Millisekunde gerundet. In .NET 7 und höheren Versionen wird die vollständige Double Genauigkeit des value Parameters verwendet. Aufgrund der inhärenten Ungenauigkeit der Gleitkommaberechnung variiert die resultierende Genauigkeit jedoch.

Gilt für:

Weitere Informationen