DateTime.AddMilliseconds Method

May 11, 2014

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
)

Parameters

value
Type: System.Double
The number of whole and fractional milliseconds to add. This value can be positive or negative, and is rounded to the nearest integer.

Return Value

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

ExceptionCondition
ArgumentOutOfRangeException

The resulting DateTime is earlier than DateTime.MinValue or later 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);
outputBlock.Text += String.Format("Original date: {0} ({1:N0} ticks)\n",
                  date1.ToString(dateFormat), date1.Ticks) + Environment.NewLine;

DateTime date2 = date1.AddMilliseconds(1);
outputBlock.Text += String.Format("Second date:   {0} ({1:N0} ticks)",
                  date2.ToString(dateFormat), date2.Ticks) + Environment.NewLine;
outputBlock.Text += String.Format("Difference between dates: {0} ({1:N0} ticks)\n",
                  date2 - date1, date2.Ticks - date1.Ticks) + Environment.NewLine;                        

DateTime date3 = date1.AddMilliseconds(1.5);
outputBlock.Text += String.Format("Third date:    {0} ({1:N0} ticks)",
                  date3.ToString(dateFormat), date3.Ticks) + Environment.NewLine;
outputBlock.Text += String.Format("Difference between dates: {0} ({1:N0} ticks)",
                  date3 - date1, date3.Ticks - date1.Ticks) + Environment.NewLine;                        
// 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 Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft