C# DateTimeOffset.AddMinutes() 메서드란?
C#의 DateTimeOffset.AddMinutes() 메서드는 현재 DateTimeOffset 인스턴스가 나타내는 날짜와 시간에 지정된 분 수를 더한 새로운 DateTimeOffset 객체를 반환합니다. 이 메서드는 정수 분뿐만 아니라 소수점 이하의 분(예: 1.5분)도 처리할 수 있습니다.
주의할 점은 원본 인스턴스의 값은 변경되지 않으며, 계산 결과가 담긴 새 인스턴스가 반환된다는 것입니다.
구문
메서드의 기본 구문은 다음과 같습니다.
public DateTimeOffset AddMinutes(double val);
매개변수: val — 더할 분 수입니다. 양수를 지정하면 시간이 앞으로 이동하고, 음수를 지정하면 시간에서 해당 분만큼 뺄 수 있습니다.
반환 값: 분이 반영된 새로운 DateTimeOffset 객체.
예외: 계산 결과가 DateTimeOffset의 표현 가능 범위(MinValue~MaxValue)를 벗어나면 ArgumentOutOfRangeException이 발생합니다.
예제 1: 특정 분 더하기
다음은 DateTimeOffset.AddMinutes() 메서드를 사용해 15분을 더하는 예제입니다.
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 (분 추가 전) = {0}", dateTimeOffset);
DateTimeOffset res = dateTimeOffset.AddMinutes(15);
Console.WriteLine("DateTimeOffset (분 추가 후) = {0}", res);
}
}출력 결과
DateTimeOffset (분 추가 전) = 8/10/2019 4:20:10 AM -05:00 DateTimeOffset (분 추가 후) = 8/10/2019 4:35:10 AM -05:00
실행 결과를 보면 오전 4시 20분 10초였던 시간에 15분이 더해져 4시 35분 10초가 된 것을 확인할 수 있습니다. UTC 오프셋(-05:00)은 그대로 유지되며, 원본 변수인 dateTimeOffset의 값 역시 변하지 않습니다.
예제 2: 음수 값을 사용해 분 빼기
AddMinutes() 메서드에 음수 값을 전달하면 시간에서 분을 손쉽게 뺄 수 있습니다.
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 (분 빼기 전) = {0}", dateTimeOffset);
DateTimeOffset res = dateTimeOffset.AddMinutes(-15);
Console.WriteLine("DateTimeOffset (분 빼기 후) = {0}", res);
}
}출력 결과
DateTimeOffset (분 빼기 전) = 8/10/2019 4:20:10 AM -05:00 DateTimeOffset (분 빼기 후) = 8/10/2019 4:05:10 AM -05:00
-15를 전달했더니 4시 20분 10초에서 15분이 차감되어 4시 05분 10초가 출력되었습니다.
정리
DateTimeOffset.AddMinutes() 메서드는 날짜·시간 연산에서 분 단위 조작을 간편하게 처리할 수 있는 유용한 도구입니다. 양수로 더하기, 음수로 빼기를 모두 지원하고, 원본 값을 보존하면서 새 객체를 반환하기 때문에 불변성(immutability) 측면에서도 안전하게 활용할 수 있습니다. 시간대 정보가 포함된 날짜 계산이 필요하다면 DateTime 대신 DateTimeOffset 타입과 이 메서드를 함께 사용하는 것을 권장합니다.