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

C# DateTime.ToFileTime() 메서드 완벽 정리 – 윈도우 파일 시간 변환 방법

C#의 DateTime.ToFileTime() 메서드는 현재 DateTime 객체의 값을 윈도우 파일 시간(Windows file time)으로 변환하는 데 사용됩니다.

윈도우 파일 시간은 1601년 1월 1일 자정(UTC)을 기준으로 경과한 시간을 100나노초 단위로 나타낸 64비트 정수 값입니다. 파일의 생성, 수정, 접근 시각 등을 저장할 때 주로 활용되며, 반환 타입은 long입니다.

문법(Syntax)

ToFileTime() 메서드의 기본 문법은 다음과 같습니다.

public long ToFileTime ();

이 메서드는 매개변수를 받지 않으며, 현재 DateTime 객체에 해당하는 윈도우 파일 시간을 long 타입으로 반환합니다.

예제 1

현재 시간을 윈도우 파일 시간으로 변환하는 예제입니다.

using System;
public class Demo {
    public static void Main() {
        DateTime d = DateTime.Now;
        Console.WriteLine("Date = {0}", d);
        long res = d.ToFileTime();
        Console.WriteLine("Windows file time = {0}", res);
    }
}

출력 결과

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

Date = 10/16/2019 8:17:26 AM
Windows file time = 132156874462559390

예제 2

이번에는 특정 날짜와 시간을 지정하여 윈도우 파일 시간으로 변환하는 예제를 살펴보겠습니다.

using System;
public class Demo {
    public static void Main() {
        DateTime d = new DateTime(2019, 05, 10, 6, 10, 25);
        Console.WriteLine("Date = {0}", d);
        long res = d.ToFileTime();
        Console.WriteLine("Windows file time = {0}", res);
    }
}

출력 결과

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

Date = 5/10/2019 6:10:25 AM
Windows file time = 132019422250000000

정리

DateTime.ToFileTime() 메서드는 DateTime 값을 윈도우 파일 시스템에서 사용하는 표준 시간 형식으로 손쉽게 변환해 줍니다. 파일 타임스탬프를 다루거나 시스템 API와 연동할 때 유용하게 사용할 수 있으며, 반대 방향의 변환이 필요하다면 DateTime.FromFileTime() 메서드를 활용하면 됩니다.