DateTime.ToFileTime 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 DateTime 개체의 값을 Windows 파일 시간으로 변환합니다.
public:
long ToFileTime();
public long ToFileTime ();
member this.ToFileTime : unit -> int64
Public Function ToFileTime () As Long
반환
Windows 파일 시간으로 표시되는 현재 DateTime 개체의 값입니다.
예외
결과 파일 시간이 서기 1601년 1월 1일 12시 자정(UTC) 이전의 날짜 및 시간을 나타냅니다.
예제
다음 예제는 ToFileTime 메서드.
int main()
{
System::Console::WriteLine( "Enter the file path:" );
String^ filePath = System::Console::ReadLine();
if ( System::IO::File::Exists( filePath ) )
{
System::DateTime fileCreationDateTime = System::IO::File::GetCreationTime( filePath );
__int64 fileCreationFileTime = fileCreationDateTime.ToFileTime();
System::Console::WriteLine( "{0} in file time is {1}.", fileCreationDateTime, fileCreationFileTime );
}
else
{
System::Console::WriteLine( "{0} is an invalid file", filePath );
}
}
open System.IO
printfn "Enter the file path:"
let filePath = stdin.ReadLine()
if File.Exists filePath then
let fileCreationDateTime =
File.GetCreationTime filePath
let fileCreationFileTime = fileCreationDateTime.ToFileTime()
printfn $"{fileCreationDateTime} in file time is {fileCreationFileTime}."
else
printfn $"{filePath} is an invalid file"
static void Main(string[] args)
{
System.Console.WriteLine("Enter the file path:");
string filePath = System.Console.ReadLine();
if (System.IO.File.Exists(filePath)) {
System.DateTime fileCreationDateTime =
System.IO.File.GetCreationTime(filePath);
long fileCreationFileTime = fileCreationDateTime.ToFileTime();
System.Console.WriteLine("{0} in file time is {1}.",
fileCreationDateTime,
fileCreationFileTime);
}
else {
System.Console.WriteLine("{0} is an invalid file", filePath);
}
}
Public Shared Sub Main()
System.Console.WriteLine("Enter the file path:")
Dim filePath As String
filePath = System.Console.ReadLine()
If System.IO.File.Exists(filePath) Then
Dim fileCreationDateTime As System.DateTime
fileCreationDateTime = System.IO.File.GetCreationTime(filePath)
Dim fileCreationFileTime As Long
fileCreationFileTime = fileCreationDateTime.ToFileTime()
System.Console.WriteLine("{0} in file time is {1}.", _
fileCreationDateTime, _
fileCreationFileTime)
Else
System.Console.WriteLine("{0} is an invalid file", filePath)
End If
End Sub
설명
Windows 파일 시간은 서기 1601년 1월 1일 자정 12:00 이후 경과된 100나노초 간격의 수를 나타내는 64비트 값입니다. (C.E.) UTC(협정 세계시). Windows 파일 시간을 사용 하 여 애플리케이션 액세스를 만들거나 파일을 쓸 때 기록.
이 메서드는 ToFileTime 이 속성을 사용하여 Kind 현재 DateTime 개체가 현지 시간, UTC 시간 또는 현지 시간으로 처리되는 지정되지 않은 시간인지 여부를 확인합니다.
호출자 참고
일반적으로 메서드는 FromFileTime(Int64) 메서드에서 저장 ToFileTime() 한 DateTime 값을 복원합니다. 그러나 다음 조건에서는 두 값이 다를 수 있습니다.
값의 직렬화 및 역직렬화가 DateTime 다른 표준 시간대에서 발생하는 경우 예를 들어 시간이 오후 12시 30분인 값인 경우 DateTime 입니다. 미국 동부 표준 시간대에서 직렬화된 다음, 원래 값인 오후 12시 30분인 미국 태평양 표준 시간대에서 역직렬화됩니다. 오전 9시 30분으로 조정됩니다. 두 표준 시간대 간의 차이를 반영합니다.
serialize된 값이 현지 표준 시간대의 잘못된 시간을 나타내는 경우 DateTime 이 경우 메서드는 ToFileTime() 로컬 표준 시간대의 유효한 시간을 나타내도록 복원된 DateTime 값을 조정합니다.
예를 들어 표준시에서 일광 절약 시간으로의 전환은 2010년 3월 14일 오전 2:00에 미국 태평양 표준 시간대에서 1시간이 지나면 오전 3:00까지 발생합니다. 이 시간 간격은 잘못된 시간, 즉 이 표준 시간대에 존재하지 않는 시간 간격입니다. 다음 예제에서는 이 범위 내에 있는 시간이 메서드에 의해 ToFileTime() 긴 정수 값으로 변환된 다음 메서드에 의해 FromFileTime(Int64) 복원되는 경우 원래 값이 유효한 시간이 되도록 조정됨을 보여줍니다. 예제와 같이 특정 날짜 및 시간 값이 메서드에 전달 IsInvalidTime(DateTime) 하여 수정될 수 있는지 여부를 확인할 수 있습니다.
using System;
public class Example
{
public static void Main()
{
DateTime date1 = new DateTime(2010, 3, 14, 2, 30, 00);
Console.WriteLine("Invalid Time: {0}",
TimeZoneInfo.Local.IsInvalidTime(date1));
long ft = date1.ToFileTime();
DateTime date2 = DateTime.FromFileTime(ft);
Console.WriteLine("{0} -> {1}", date1, date2);
}
}
// The example displays the following output:
// Invalid Time: True
// 3/14/2010 2:30:00 AM -> 3/14/2010 3:30:00 AM