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

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

C#의 DateTimeOffset.AddMilliseconds() 메서드는 현재 인스턴스의 날짜 및 시간 값에 지정된 밀리초를 더한 새로운 DateTimeOffset 객체를 반환하는 메서드입니다. 이 메서드는 원본 객체를 변경하지 않고 새로운 객체를 생성하므로, 기존 데이터의 불변성을 유지하면서 시간 계산을 수행할 수 있습니다.

메서드 구문

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

public DateTimeOffset AddMilliseconds (double val);

매개변수 val은 추가할 밀리초 값을 나타냅니다. 양수를 입력하면 시간이 더해지고, 음수를 입력하면 해당 밀리초만큼 시간이 빼집니다. 반환되는 값은 밀리초가 반영된 새로운 DateTimeOffset 객체입니다.

예제 1: 밀리초 더하기

다음 예제는 DateTimeOffset.AddMilliseconds() 메서드를 사용하여 현재 시간에 3000밀리초(3초)를 더하는 방법을 보여줍니다.

using System;
public class Demo {
   public static void Main() {
      DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 08, 10, 4, 20, 10, new TimeSpan(-5, 0, 0));
      Console.WriteLine("DateTimeOffset (before adding milliseconds) = {0}", dateTimeOffset);
      DateTimeOffset res = dateTimeOffset.AddMilliseconds(3000);
      Console.WriteLine("DateTimeOffset (after adding milliseconds) = {0}", res);
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

DateTimeOffset (before adding milliseconds) = 8/10/2019 4:20:10 AM -05:00
DateTimeOffset (after adding milliseconds) = 8/10/2019 4:20:13 AM -05:00

출력 결과에서 볼 수 있듯이, 4시 20분 10초에 3000밀리초가 더해져 4시 20분 13초로 변경된 것을 확인할 수 있습니다. UTC 오프셋(-05:00)은 그대로 유지됩니다.

예제 2: 밀리초 빼기

AddMilliseconds() 메서드에 음수 값을 전달하면 밀리초를 뺄 수도 있습니다. 다음 예제는 2000밀리초(2초)를 빼는 방법을 보여줍니다.

using System;
public class Demo {
   public static void Main() {
      DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 08, 10, 4, 20, 10, new TimeSpan(-5, 0, 0));
      Console.WriteLine("DateTimeOffset (before subtracting milliseconds) = {0}", dateTimeOffset);
      DateTimeOffset res = dateTimeOffset.AddMilliseconds(-2000);
      Console.WriteLine("DateTimeOffset (after subtracting milliseconds) = {0}", res);
   }
}

실행 결과

위 코드의 실행 결과는 다음과 같습니다.

DateTimeOffset (before subtracting milliseconds) = 8/10/2019 4:20:10 AM -05:00
DateTimeOffset (after subtracting milliseconds) = 8/10/2019 4:20:08 AM -05:00

4시 20분 10초에서 2000밀리초가 차감되어 4시 20분 8초로 표시됩니다.

정리

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

  • 양수 값을 전달하면 밀리초가 더해지고, 음수 값을 전달하면 밀리초가 빼집니다.
  • 원본 DateTimeOffset 객체는 변경되지 않으며, 항상 새로운 객체를 반환합니다.
  • 매개변수는 double 타입으로, 소수점 이하의 밀리초 값도 처리할 수 있습니다.
  • UTC 오프셋 정보는 그대로 유지되므로 시간대 관련 로직에 안전하게 사용할 수 있습니다.