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

C# DateTimeOffset.AddSeconds() 메서드 완벽 정리: 초 단위 시간 더하기와 빼기

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 객체를 반환한다는 점을 기억하면 됩니다.