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

C# TimeSpan.FromHours() 메서드 완벽 정리 – 사용법과 예제

C#의 TimeSpan.FromHours() 메서드는 지정된 시간(단위: 시간)을 나타내는 TimeSpan 객체를 반환합니다. 이 메서드는 밀리초 단위까지 정확한 값을 처리할 수 있어, 소수점 이하의 시간도 손쉽게 다룰 수 있습니다.

구문

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

public static TimeSpan FromHours (double val);

매개변수 val은 시간을 나타내는 double 형식의 값으로, 밀리초 단위의 정밀도를 가집니다. 음수 값도 허용되며, 이 경우 음의 시간 간격이 생성됩니다.

예제 1

첫 번째 예제를 통해 FromDays(), TimeSpan 생성자, FromHours() 메서드로 생성한 TimeSpan 객체들을 비교해 보겠습니다.

using System;
public class Demo {
    public static void Main(){
        TimeSpan span1 = TimeSpan.FromDays(0.000323456);
        TimeSpan span2 = new TimeSpan(-2, 05, 10);
        TimeSpan span3 = TimeSpan.FromHours(5);
        Console.WriteLine("TimeSpan1 = "+span1);
        Console.WriteLine("TimeSpan2 = "+span2);
        Console.WriteLine("TimeSpan3 = "+span3);
        Console.WriteLine("Result (Comparison of span1 and span2) = "+TimeSpan.Compare(span1, span2));
        Console.WriteLine("Result (Comparison of span2 and span3) = "+TimeSpan.Compare(span2, span3));
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

TimeSpan1 = 00:00:27.9470000
TimeSpan2 = -01:54:50
TimeSpan3 = 05:00:00
Result (Comparison of span1 and span2) = 1
Result (Comparison of span2 and span3) = -1

참고: TimeSpan.Compare() 메서드는 첫 번째 인자가 두 번째 인자보다 크면 1, 작으면 -1, 같으면 0을 반환합니다.

예제 2

이번에는 세 개의 TimeSpan 객체를 모두 비교하는 또 다른 예제를 살펴보겠습니다.

using System;
public class Demo {
    public static void Main(){
        TimeSpan span1 = TimeSpan.FromDays(15);
        TimeSpan span2 = new TimeSpan(5, 15, 30);
        TimeSpan span3 = TimeSpan.FromHours(5);
        Console.WriteLine("TimeSpan1 = "+span1);
        Console.WriteLine("TimeSpan2 = "+span2);
        Console.WriteLine("TimeSpan3 = "+span3);
        Console.WriteLine("Result (Comparison of span1 and span2) = "+TimeSpan.Compare(span1, span2));
        Console.WriteLine("Result (Comparison of span2 and span3) = "+TimeSpan.Compare(span2, span3));
        Console.WriteLine("Result (Comparison of span1 and span3) = "+TimeSpan.Compare(span1, span3));
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

TimeSpan1 = 15.00:00:00
TimeSpan2 = 05:15:30
TimeSpan3 = 05:00:00
Result (Comparison of span1 and span2) = 1
Result (Comparison of span2 and span3) = 1
Result (Comparison of span1 and span3) = 1

두 예제에서 확인할 수 있듯이, TimeSpan.FromHours()는 시간 기반의 간격을 직관적으로 생성하는 데 매우 유용합니다. 특히 날짜 계산이나 스케줄링 로직에서 가독성 높은 코드를 작성하고 싶다면 이 메서드를 적극 활용해 보세요.