DateTime.AddMilliseconds(Double) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve un nuevo objeto DateTime que suma el número especificado de milisegundos al valor de esta instancia.
public:
DateTime AddMilliseconds(double value);
public DateTime AddMilliseconds (double value);
member this.AddMilliseconds : double -> DateTime
Public Function AddMilliseconds (value As Double) As DateTime
Parámetros
- value
- Double
Número de milisegundos enteros y fraccionarios. El parámetro value
puede ser positivo o negativo. Observe que este valor se redondea al entero más próximo.
Devoluciones
Un objeto cuyo valor es la suma de la fecha y hora representadas por esta instancia y el número de milisegundos representados por value
.
Excepciones
El resultado DateTime es menor que DateTime.MinValue o mayor que DateTime.MaxValue.
Ejemplos
En el ejemplo siguiente se usa el AddMilliseconds método para agregar un milisegundo y 1,5 milisegundos a un DateTime valor . A continuación, muestra cada nuevo valor y muestra la diferencia entre él y el valor original. La diferencia se muestra tanto como un intervalo de tiempo como un número de tics. En el ejemplo se aclara que un milisegundo es igual a 10 000 tics. También muestra que las fracciones de milisegundos se redondean antes de realizar la adición; el DateTime valor resultante de agregar 1,5 milisegundos a la fecha original es de 2 milisegundos mayor que la fecha original.
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)
Comentarios
Este método no cambia el valor de este DateTime. En su lugar, devuelve un nuevo DateTime cuyo valor es el resultado de esta operación.
La parte fraccionarcional de value
es la parte fraccionarcional de un milisegundo. Por ejemplo, 4,5 equivale a 4 milisegundos y 5000 tics, donde un milisegundo = 10000 tics.
En .NET 6 y versiones anteriores, el value
parámetro se redondea al milisegundo más cercano. En .NET 7 y versiones posteriores, se usa la precisión completa Double del value
parámetro . Sin embargo, debido a la imprecisión inherente de las matemáticas de punto flotante, la precisión resultante variará.