Environment.TickCount는 C#에서 시스템이 부팅된 이후 경과된 시간을 밀리초 단위로 반환하는 속성이다.
컴퓨터가 전원을 켠 후 운영 체제(OS)가 로드되고 준비 상태에 도달하는 과정이다. 프로그램이 실행되는 시간과 무관하다. 프로그램의 실행은 사용자가 애플리케이션을 시작하는 것이다.
Environment.TickCount는 시스템 시작 후 경과된 시간을 정수형 값(int)으로 반환한다.int 자료형의 크기(32비트)에 따라 2,147,483,648 ~ 2,147,483,647 사이다.2,147,483,647ms ≈ 24.9일using System;
class Program
{
static void Main()
{
int tickCount = Environment.TickCount;
// 밀리초 -> 초 -> 분 -> 시간
TimeSpan time = TimeSpan.FromMilliseconds(tickCount);
Console.WriteLine($"System Uptime: {time.Hours}h {time.Minutes}m {time.Seconds}s");
}
}
1-1. 출력 예시
부팅 후 2시간 30분 15초가 지난 경우라면
// SQL
System Uptime: 2h 30m 15s
Environment.TickCount는 프로그램 내에서 간단한 시간 측정을 위해 사용할 수도 있다.
using System;
class Program
{
static void Main()
{
int start = Environment.TickCount; // 시작 시간 기록
// 작업 실행 (예: 2초 동안 대기)
System.Threading.Thread.Sleep(2000);
int end = Environment.TickCount; // 종료 시간 기록
int elapsed = end - start; // 경과 시간 계산
Console.WriteLine($"Elapsed time: {elapsed} ms");
}
}
2-1. 출력 예시
// yaml
Elapsed time: 2000 ms
64비트 정밀도를 제공하지 않으므로 밀리초 단위이지만, 나노초 등 더 높은 정밀도가 필요한 경우 Stopwatch를 사용하는 것이 좋다고 한다.