다음을 통해 공유


DateTime.AddMilliseconds(Double) 메서드

정의

지정된 밀리초 수를 이 인스턴스의 값에 더하는 새 DateTime을 반환합니다.

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

매개 변수

value
Double

정수 및 소수로 계산된 밀리초 수입니다. value 매개 변수는 음수일 수도 있고 양수일 수도 있습니다. 이 값은 가장 가까운 정수로 반올림됩니다.

반환

이 인스턴스가 나타내는 날짜 및 시간과 value가 나타내는 밀리초 수의 합이 값인 개체입니다.

예외

결과는 DateTimeDateTime.MinValue 보다 작거나 DateTime.MaxValue보다 큽니다.

예제

다음 예제에서는 메서드를 AddMilliseconds 사용하여 값에 1밀리초 및 1.5밀리초를 추가합니다 DateTime . 그런 다음 각 새 값을 표시하고 값과 원래 값의 차이를 표시합니다. 차이는 시간 범위와 여러 틱으로 모두 표시됩니다. 이 예제에서는 1밀리초가 10,000틱과 동일하다는 것을 분명히 합니다. 또한 더하기 전에 소수 밀리초가 반올림됨을 보여 줍니다. DateTime 원래 날짜에 1.5밀리초를 추가하여 발생하는 값은 원래 날짜보다 2밀리초 더 큽니다.

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)

설명

이 메서드는 이 DateTime의 값을 변경하지 않습니다. 대신 값이 이 작업의 결과인 새 DateTime 를 반환합니다.

value 소수 부분은 밀리초의 소수 부분입니다. 예를 들어 4.5는 4밀리초 및 5000틱에 해당합니다. 여기서 1밀리초 = 10000틱입니다.

.NET 6 및 이전 버전 value 에서 매개 변수는 가장 가까운 밀리초로 반올림됩니다. .NET 7 이상 버전에서는 매개 변수의 전체 Double 전체 자릿수가 value 사용됩니다. 그러나 부동 소수점 수학의 내재된 부정확성으로 인해 결과 정밀도는 달라집니다.

적용 대상

추가 정보