C#의 DateTimeOffset.AddSeconds() 메서드는 현재 DateTimeOffset 인스턴스의 값에 지정된 초(정수 또는 소수)를 더한 결과로, 새로운 DateTimeOffset 객체를 반환하는 데 사용됩니다. 이 메서드는 원본 객체를 변경하지 않고 새 객체를 생성하므로, 날짜와 시간을 안전하게 조작할 수 있습니다.
문법(Syntax)
DateTimeOffset.AddSeconds() 메서드의 기본 문법은 다음과 같습니다.
public DateTimeOffset AddSeconds (double val);
여기서 val은 더할 초(second)의 값을 의미합니다. 만약 초를 빼고 싶다면 음수 값을 전달하면 됩니다.
예제 1: 초 더하기
다음 예제는 DateTimeOffset.AddSeconds() 메서드를 사용하여 특정 시간에 30초를 더하는 방법을 보여줍니다.
using System;
public class Demo {
public static void Main() {
DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 10, 11, 7, 10, 20, new TimeSpan(-5, 0, 0));
Console.WriteLine("DateTimeOffset (before adding seconds) = {0}", dateTimeOffset);
DateTimeOffset res = dateTimeOffset.AddSeconds(30);
Console.WriteLine("DateTimeOffset (after adding seconds) = {0}", res);
}
}출력 결과
위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.
DateTimeOffset (before adding seconds) = 10/11/2019 7:10:20 AM -05:00 DateTimeOffset (after adding seconds) = 10/11/2019 7:10:50 AM -05:00
출력 결과에서 볼 수 있듯이, 기존 시간인 오전 7시 10분 20초에 30초가 더해져 오전 7시 10분 50초로 변경되었습니다. UTC 오프셋(-05:00)은 그대로 유지됩니다.
예제 2: 초 빼기
AddSeconds() 메서드에 음수 값을 전달하면 초를 뺄 수도 있습니다. 다음 예제에서는 10초를 빼는 방법을 살펴봅니다.
using System;
public class Demo {
public static void Main() {
DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 11, 11, 8, 20, 10, new TimeSpan(-5, 0, 0));
Console.WriteLine("DateTimeOffset (before subtracting seconds) = {0}", dateTimeOffset);
DateTimeOffset res = dateTimeOffset.AddSeconds(-10);
Console.WriteLine("DateTimeOffset (after subtracting seconds) = {0}", res);
}
}출력 결과
위 코드를 실행하면 다음과 같은 출력 결과가 나타납니다.
DateTimeOffset (before subtracting seconds) = 11/11/2019 8:20:10 AM -05:00 DateTimeOffset (after subtracting seconds) = 11/11/2019 8:20:00 AM -05:00
이처럼 AddSeconds(-10)을 호출하면 기존 시간인 오전 8시 20분 10초에서 10초가 감소하여 오전 8시 20분 00초가 됩니다.
정리
DateTimeOffset.AddSeconds() 메서드는 날짜와 시간 계산에서 초 단위 연산을 손쉽게 처리할 수 있는 유용한 도구입니다. 양수 값을 넣으면 시간이 더해지고, 음수 값을 넣으면 시간이 빼지며, 항상 새로운 DateTimeOffset 객체를 반환한다는 점을 기억하면 됩니다.