DateTime.ToFileTime Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli DateTime nesnenin değerini Windows dosya zamanına dönüştürür.
public:
long ToFileTime();
public long ToFileTime ();
member this.ToFileTime : unit -> int64
Public Function ToFileTime () As Long
Döndürülenler
Geçerli DateTime nesnenin Windows dosya zamanı olarak ifade edilen değeri.
Özel durumlar
Sonuçta elde edilen dosya saati, 1 Ocak 1601 C.E. UTC.
Örnekler
Aşağıdaki örnekte yöntemi gösterilmektedir 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
Açıklamalar
Windows dosyası zamanı, M.S. 1 Ocak 1601, 12:00 gece yarısından itibaren geçen 100 nano saniyelik aralıkların sayısını temsil eden 64 bitlik bir değerdir. (C.E.) Eşgüdümlü Evrensel Saat (UTC). Windows, bir uygulamanın bir dosyayı oluşturduğu, ona eriştiği veya yazdığı zamanları kaydetmek için bir dosya zamanı kullanır.
yöntemi, ToFileTime geçerli DateTime nesnenin yerel saat mi, UTC saati mi yoksa yerel saat olarak kabul edilen belirtilmemiş bir saat türü mü olduğunu belirlemek için özelliğini kullanırKind.
Arayanlara Notlar
Normalde yöntemi, FromFileTime(Int64) yöntemi tarafından ToFileTime() kaydedilen bir DateTime değeri geri yükler. Ancak, iki değer aşağıdaki koşullarda farklılık gösterebilir:
Değerin seri hale getirilmesi ve seri durumdan DateTime çıkarılması farklı saat dilimlerinde gerçekleşiyorsa. Örneğin, saat 23:30 olan bir değerse DateTime . ABD Doğu Saat diliminde seri hale getirilir ve ardından ABD Pasifik Saat diliminde seri durumdan çıkarılır, özgün değeri 23:30. 09:30'a ayarlanır. iki saat dilimi arasındaki farkı yansıtmak için.
Seri hale getirilmiş değerin yerel saat diliminde geçersiz bir saati temsil ediyor olması DateTime . Bu durumda yöntemi, ToFileTime() geri yüklenen DateTime değeri yerel saat diliminde geçerli bir saati temsil eden şekilde ayarlar.
Örneğin, ABD Pasifik Saat diliminde 14 Mart 2010, saat 02:00'da standart saatten yaz saatine geçilir ve saatler bir saat ileri alınarak 03:00 yapılır. Bu saat aralığı geçersiz bir zamandır, başka bir deyişle, bu saat diliminde bulunmayan bir zaman aralığıdır. Aşağıdaki örnekte, bu aralık içinde kalan bir süre yöntemiyle ToFileTime() uzun bir tamsayı değerine dönüştürüldüğünde ve yöntemi tarafından FromFileTime(Int64) geri yüklendiğinde, özgün değerin geçerli bir saat olacak şekilde ayarlandığı gösterilmektedir. Örnekte gösterildiği gibi, belirli bir tarih ve saat değerini yönteme IsInvalidTime(DateTime) geçirerek değişikliğe tabi olup olmayacağını belirleyebilirsiniz.
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