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

C# DateTimeOffset.ToFileTime() 메서드 완벽 가이드

C#의 DateTimeOffset.ToFileTime() 메서드는 현재 DateTimeOffset 개체의 값을 Windows 파일 시간(Windows file time)으로 변환하는 데 사용됩니다. 이 메서드는 현재 DateTimeOffset 개체의 값을 Windows 파일 시간 형식으로 나타낸 Int64 값을 반환합니다.

Windows 파일 시간이란?

Windows 파일 시간은 1601년 1월 1일 자정(UTC)을 기준으로 경과한 100나노초 간격의 수를 의미합니다. 주로 NTFS 파일 시스템에서 파일의 생성, 수정, 접근 시간을 기록하는 데 활용되며, 날짜와 시간 정보를 하나의 정수 값으로 표현할 수 있어 저장과 비교에 효율적입니다.

구문

메서드의 기본 구문은 다음과 같습니다.

public long ToFileTime ();

예제 1

다음은 DateTimeOffset.ToFileTime() 메서드를 구현한 첫 번째 예제입니다.

using System;
public class Demo {
   public static void Main() {
      DateTimeOffset dateTimeOffset1 = new DateTimeOffset(2019, 11, 10, 6, 20, 10, new TimeSpan(-5, 0, 0));
      Console.WriteLine("DateTimeOffset = {0}", dateTimeOffset1);
      int hash = dateTimeOffset1.GetHashCode();
      long res = dateTimeOffset1.ToFileTime();
      Console.WriteLine("DateTimeOffset HashCode = {0}", hash);
      Console.WriteLine("Windows file time = {0}", res);
   }
}

출력 결과

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

DateTimeOffset = 11/10/2019 6:20:10 AM -05:00
DateTimeOffset HashCode = -92293937
Windows file time = 132178584100000000

예제 2

이번에는 DateTimeOffset.Now 속성과 함께 ToFileTime() 메서드를 활용하여 현재 시각의 Windows 파일 시간을 구하는 예제를 살펴보겠습니다.

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

출력 결과

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

DateTimeOffset = 10/16/2019 11:16:47 AM +00:00
Windows file time = 132156982075593442