This documentation is archived and is not being maintained.

DateTime.AddMilliseconds Method

Updated: April 2009

Returns a new DateTime that adds the specified number of milliseconds to the value of this instance.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public DateTime AddMilliseconds(
	double value


Type: System.Double

A number of whole and fractional milliseconds. The value parameter can be negative or positive. Note that this value is rounded to the nearest integer.

Return Value

Type: System.DateTime
A DateTime whose value is the sum of the date and time represented by this instance and the number of milliseconds represented by value.


The resulting DateTime is less than DateTime.MinValue or greater than DateTime.MaxValue.

This method does not change the value of this DateTime. Instead, a new DateTime is returned whose value is the result of this operation.

The fractional part of value is the fractional part of a millisecond. For example, 4.5 is equivalent to 4 milliseconds and 5000 ticks, where one millisecond = 10000 ticks.

The value parameter is rounded to the nearest integer.

The following example uses the AddMilliseconds method to add one millisecond and 1.5 milliseconds to a DateTime value. It then displays each new value and displays the difference between it and the original value. The difference is displayed both as a time span and as a number of ticks. The example makes it clear that one millisecond equals 10,000 ticks. It also shows that fractional milliseconds are rounded before performing the addition; the DateTime value that results from adding 1.5 milliseconds to the original date is 2 milliseconds greater than the original date.

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)      

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0




April 2009

Added an example.

Customer feedback.