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

C#에서 현재 DateTime 개체의 값을 Windows 파일 시간으로 변환하는 방법

C#에서는 ToFileTime() 메서드를 사용하여 현재 DateTime 개체의 값을 Windows 파일 시간(Windows file time)으로 손쉽게 변환할 수 있습니다. Windows 파일 시간은 1601년 1월 1일 자정(UTC)을 기준으로 경과한 100나노초(nanosecond) 단위의 틱(tick) 수를 나타내는 64비트 정수 값입니다.

예제 1: 현재 날짜와 시간 변환하기

다음 예제는 현재 시스템의 DateTime 값을 Windows 파일 시간으로 변환하는 방법을 보여줍니다.

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: 특정 날짜와 시간 변환하기

이번에는 특정 날짜와 시간을 지정하여 Windows 파일 시간으로 변환해 보겠습니다.

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

핵심 포인트

  • ToFileTime() 메서드는 DateTime 개체의 값을 64비트 long 타입의 Windows 파일 시간으로 반환합니다.
  • Windows 파일 시간의 기준 시점은 1601년 1월 1일 00:00:00(UTC)입니다.
  • 변환된 값은 파일의 생성·수정 시각을 저장할 때 주로 활용됩니다.