Partage via


DateTime.AddMilliseconds(Double) Méthode

Définition

Retourne un nouveau DateTime qui ajoute le nombre spécifié de millisecondes à la valeur de cette instance.

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

Paramètres

value
Double

Nombre de millisecondes entières et fractionnaires. Le value paramètre peut être négatif ou positif. Notez que cette valeur est arrondie à l’entier le plus proche.

Retours

Objet dont la valeur est la somme de la date et de l’heure représentées par cette instance et le nombre de millisecondes représentées par value.

Exceptions

Le résultat DateTime est inférieur à DateTime.MinValue ou supérieur à DateTime.MaxValue.

Exemples

L’exemple suivant utilise la AddMilliseconds méthode pour ajouter une milliseconde et 1,5 milliseconde à une DateTime valeur. Il affiche ensuite chaque nouvelle valeur et affiche la différence entre celle-ci et la valeur d’origine. La différence s’affiche à la fois sous la forme d’un intervalle de temps et sous la forme d’un certain nombre de cycles. L’exemple montre clairement qu’une milliseconde est égale à 10 000 cycles. Il montre également que les millisecondes fractionnaires sont arrondies avant d’effectuer l’ajout ; la DateTime valeur résultant de l’ajout de 1,5 millisecondes à la date d’origine est de 2 millisecondes supérieure à la date d’origine.

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)

Remarques

Cette méthode ne modifie pas la valeur de ce DateTime. Au lieu de cela, elle retourne une nouvelle DateTime dont la valeur est le résultat de cette opération.

La partie fractionnaire est value la partie fractionnaire d’une milliseconde. Par exemple, 4,5 équivaut à 4 millisecondes et 5 000 cycles, où une milliseconde = 1 000 cycles.

Dans .NET Framework, le value paramètre est arrondi à la milliseconde la plus proche. Dans .NET 7 et versions ultérieures, la précision complète Double du value paramètre est utilisée. Toutefois, en raison de l’imprécision inhérente des mathématiques à virgule flottante, la précision résultante varie.

S’applique à

Voir aussi