C# TicksPer 상수란?
C#에서는 시간을 틱(tick)이라는 최소 시간 단위로 측정합니다. 틱은 100나노초에 해당하며, 즉 1밀리초는 10,000틱으로 구성됩니다.
.NET의 TimeSpan 구조체는 이러한 틱 값을 손쉽게 다룰 수 있도록 다음과 같은 상수들을 제공합니다.
TimeSpan.TicksPerDay— 하루에 해당하는 틱 수TimeSpan.TicksPerHour— 한 시간에 해당하는 틱 수TimeSpan.TicksPerMinute— 1분에 해당하는 틱 수TimeSpan.TicksPerSecond— 1초에 해당하는 틱 수TimeSpan.TicksPerMillisecond— 1밀리초에 해당하는 틱 수
이 상수들은 모두 long 타입이며, 시간 간격 계산이나 날짜·시간 연산 시 유용하게 활용됩니다.
예제 코드
아래 예제는 주요 TicksPer 상수들의 실제 값을 출력하는 코드입니다.
using System;
using System.Linq;
public class Demo {
public static void Main() {
// TicksPer 상수 출력
Console.WriteLine(TimeSpan.TicksPerDay);
Console.WriteLine(TimeSpan.TicksPerHour);
Console.WriteLine(TimeSpan.TicksPerMinute);
}
}실행 결과
864000000000 36000000000 600000000
결과 해석
- TicksPerDay = 864,000,000,000: 하루(24시간)는 8,640억 틱입니다.
- TicksPerHour = 36,000,000,000: 한 시간은 360억 틱입니다.
- TicksPerMinute = 600,000,000: 1분은 6억 틱입니다.
활용 팁
예를 들어 특정 밀리초 값을 틱으로 변환하려면 다음과 같이 작성할 수 있습니다.
long ticks = milliseconds * TimeSpan.TicksPerMillisecond;
또한 두 DateTime 객체의 차이를 틱 단위로 비교하거나, 고정밀 시간 측정 로직을 구현할 때 이 상수들이 매우 유용합니다.