Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# DateTime.AddMilliseconds() 메서드 완벽 정리 – 밀리초 더하기와 빼기

C#의 DateTime.AddMilliseconds() 메서드는 현재 DateTime 인스턴스에 지정된 밀리초를 더한 새로운 DateTime 객체를 반환하는 메서드입니다. 이 메서드는 원본 값을 변경하지 않고 새로운 날짜·시간 값을 생성하므로, 시간 계산이 필요한 다양한 상황에서 안전하게 활용할 수 있습니다.

메서드 구문

DateTime.AddMilliseconds() 메서드의 기본 구문은 다음과 같습니다.

public DateTime AddMilliseconds (double mSec);

여기서 매개변수 mSec는 더하거나 뺄 밀리초 값을 나타냅니다. 양수를 전달하면 시간이 앞으로 이동하고, 음수를 전달하면 시간이 뒤로 이동합니다.

예제 1 – 밀리초 더하기

다음은 DateTime.AddMilliseconds() 메서드를 사용하여 특정 시간에 밀리초를 더하는 예제입니다.

using System;
public class Demo {
   public static void Main(){
      DateTime d1 = new DateTime(2019, 11, 10, 5, 0, 25);
      DateTime d2 = d1.AddMilliseconds(1000);
      System.Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
      System.Console.WriteLine("\nNew DateTime (After adding milliseconds) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2);
   }
}

실행 결과

Initial DateTime = 10 November 2019, 05:00:25
New DateTime (After adding milliseconds) = 10 November 2019, 05:00:26

위 예제에서 1000밀리초(1초)를 더했기 때문에 기존 시간 05:00:25에서 1초가 증가해 05:00:26이 된 것을 확인할 수 있습니다.

예제 2 – 음수 값으로 밀리초 빼기

AddMilliseconds() 메서드에 음수 값을 전달하면 지정한 밀리초만큼 시간을 되돌릴 수 있습니다.

using System;
public class Demo {
   public static void Main(){
      DateTime d1 = new DateTime(2019, 10, 5, 9, 0, 10);
      DateTime d2 = d1.AddMilliseconds(-2000);
      System.Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
      System.Console.WriteLine("\nNew DateTime (After subtracting milliseconds) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2);
   }
}

실행 결과

Initial DateTime = 05 October 2019, 09:00:10
New DateTime (After subtracting milliseconds) = 05 October 2019, 09:00:08

위 예제에서는 -2000밀리초(-2초)를 전달하여 기존 시간 09:00:10에서 2초가 감소한 09:00:08이 출력되었습니다.

정리

DateTime.AddMilliseconds() 메서드는 밀리초 단위의 정밀한 시간 연산이 필요할 때 유용합니다. 주요 특징을 요약하면 다음과 같습니다.

  • 지정한 밀리초를 현재 DateTime 값에 더한 새로운 DateTime 객체를 반환합니다.
  • 매개변수는 double 타입이므로 소수점 단위의 밀리초도 처리할 수 있습니다.
  • 음수 값을 사용하면 시간을 과거 방향으로 이동시킬 수 있습니다.
  • 원본 DateTime 값은 변경되지 않으므로 불변성(immutability)이 보장됩니다.