DateTime.AddMilliseconds(Double) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Retorna um novo DateTime que adiciona o número especificado de milissegundos ao valor desta instância.
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
Um número de milissegundos inteiros e fracionários. O value parâmetro pode ser negativo ou positivo. Note que este valor é arredondado para o número inteiro mais próximo.
Devoluções
Um objeto cujo valor é a soma da data e hora representadas por esta instância e o número de milissegundos representado por value.
Exceções
O resultado DateTime é inferior a DateTime.MinValue ou superior a DateTime.MaxValue.
Exemplos
O exemplo seguinte utiliza o AddMilliseconds método para adicionar um milissegundo e 1,5 milissegundos a um DateTime valor. Depois, mostra cada novo valor e mostra a diferença entre este e o valor original. A diferença é apresentada tanto como um intervalo de tempo como um número de tiques. O exemplo deixa claro que um milissegundo equivale a 10.000 ticks. Também mostra que frações de milissegundos são arredondadas antes de realizar a adição; O DateTime valor resultante da adição de 1,5 milissegundos à data original é 2 milissegundos superior à data 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)
Observações
Este método não altera o valor deste DateTime. Em vez disso, devolve um novo DateTime cujo valor é o resultado desta operação.
A parte fracionária de value é a parte fracionária de um milissegundo. Por exemplo, 4,5 equivale a 4 milissegundos e 5000 ticks, onde um milissegundo = 10000 ticks.
No .NET Framework, o parâmetro value é arredondado para o milissegundo mais próximo. Nas versões .NET 7 e posteriores, é utilizada a precisão total Double do parâmetro value. No entanto, devido à imprecisão inerente da matemática de ponto flutuante, a precisão resultante irá variar.