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

C# TimeSpan.FromMilliseconds() 메서드 완벽 정리 – 문법과 예제

C#의 TimeSpan.FromMilliseconds() 메서드는 지정된 밀리초(1/1000초) 값에 해당하는 시간 간격을 나타내는 TimeSpan 객체를 반환합니다. 시간 차이를 계산하거나 타이머, 지연 처리 등 밀리초 단위의 정밀한 시간 제어가 필요할 때 유용하게 활용됩니다.

문법

public static TimeSpan FromMilliseconds (double val);

매개변수 val은 밀리초 수를 나타내는 double 값입니다. 양수와 음수 모두 허용되며, 소수점 이하 값도 지정할 수 있어 틱(tick) 단위까지 정밀한 시간 간격을 표현할 수 있습니다.

예제 1

아래 예제에서는 FromDays(), FromHours(), FromMilliseconds() 등 다양한 방식으로 TimeSpan 객체를 생성하고, TimeSpan.Compare() 메서드로 두 시간 간격의 대소를 비교하는 과정을 살펴봅니다.

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);
      TimeSpan span4 = TimeSpan.FromMilliseconds(876876876.1);
      Console.WriteLine("TimeSpan1 = "+span1);
      Console.WriteLine("TimeSpan2 = "+span2);
      Console.WriteLine("TimeSpan3 = "+span3);
      Console.WriteLine("TimeSpan4 = "+span4);
      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));
      Console.WriteLine("Result (Comparison of span3 and span4) = "+TimeSpan.Compare(span3, span4));
   }
}

실행 결과

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

TimeSpan1 = 15.00:00:00
TimeSpan2 = 05:15:30
TimeSpan3 = 05:00:00
TimeSpan4 = 10.03:34:36.8760000
Result (Comparison of span1 and span2) = 1
Result (Comparison of span2 and span3) = 1
Result (Comparison of span1 and span3) = 1
Result (Comparison of span3 and span4) = -1

TimeSpan.Compare()는 첫 번째 인자가 두 번째 인자보다 크면 1, 같으면 0, 작으면 -1을 반환합니다. 예제 1에서는 약 8억 7천만 밀리초(약 10일)가 5시간보다 크기 때문에 마지막 비교 결과가 -1로 출력된 것을 확인할 수 있습니다.

예제 2

이번에는 소수점이 포함된 시간 값과 아주 작은 밀리초 값을 사용한 또 다른 예제입니다.

using System;
public class Demo {
   public static void Main() {
      TimeSpan span1 = TimeSpan.FromHours(0.78787);
      TimeSpan span2 = new TimeSpan(10, 30, 40);
      TimeSpan span3 = TimeSpan.FromHours(5);
      TimeSpan span4 = TimeSpan.FromMilliseconds(1);
      Console.WriteLine("TimeSpan1 = "+span1);
      Console.WriteLine("TimeSpan2 = "+span2);
      Console.WriteLine("TimeSpan3 = "+span3);
      Console.WriteLine("TimeSpan4 = "+span4);
      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));
      Console.WriteLine("Result (Comparison of span3 and span4) = "+TimeSpan.Compare(span3, span4));
   }
}

실행 결과

실행하면 다음과 같은 출력을 얻을 수 있습니다.

TimeSpan1 = 00:47:16.3320000
TimeSpan2 = 10:30:40
TimeSpan3 = 05:00:00
TimeSpan4 = 00:00:00.0010000
Result (Comparison of span1 and span2) = -1
Result (Comparison of span2 and span3) = 1
Result (Comparison of span1 and span3) = -1
Result (Comparison of span3 and span4) = 1

0.78787시간은 약 47분 16초에 해당하며, 1밀리초는 00:00:00.0010000으로 표현됩니다. 이처럼 FromMilliseconds() 메서드를 사용하면 아주 짧은 시간 간격까지 손쉽게 TimeSpan 객체로 변환하고 비교할 수 있습니다.