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 UTC saat 12:00 gece yarısından önceki bir tarih ve saati temsil eder.
Örnekler
Aşağıdaki örnekte yöntemi gösterilmektedir ToFileTime .
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 dosya süresi, 12:00 gece yarısı, 1 Ocak 1601 M.S. (C.E.) tarihinden bu yana geçen 100 nanosaniyelik aralıkların sayısını temsil eden 64 bitlik bir değerdir Eşgüdümlü Evrensel Saat (UTC). Windows, bir uygulama bir dosya oluşturduğunda, dosyaya eriştiğinde veya dosyaya yazdığında kaydetmek için bir dosya süresi kullanır.
yöntemi, ToFileTime geçerli DateTime nesnenin yerel saat mi, UTC saati mi yoksa yerel saat olarak ele alınan 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şullar altında farklılık gösterebilir:
Değerin seri hale getirilmesi ve seri durumdan DateTime çıkarılması farklı saat dilimlerinde oluşuyorsa. Örneğin, ABD Doğu Saat diliminde saat 12:30 olan bir DateTime değer seri hale getirilir ve ardından ABD Pasifik Saat diliminde seri durumdan çıkarılırsa, iki saat dilimi arasındaki farkı yansıtacak şekilde 12:30'un özgün değeri 09:30'a ayarlanır.
DateTime Seri hale getirilen değer yerel saat diliminde geçersiz bir saati temsil ediyorsa. Bu durumda yöntemi, ToFileTime() geri yüklenen DateTime değeri yerel saat diliminde geçerli bir saati temsil eden şekilde ayarlar.
Örneğin, standart saatten yaz saati saatine geçiş, 14 Mart 2010'da saat 02:00'de, saat bir saat ilerlediğinde 03:00'e kadar ABD Pasifik Saat diliminde gerçekleşir. Bu saat aralığı geçersiz bir saat, yani bu saat diliminde mevcut olmayan 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ğerinin IsInvalidTime(DateTime) yöntemine 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 AMopen System let date1 = DateTime(2010, 3, 14, 2, 30, 00) printfn $"Invalid Time: {TimeZoneInfo.Local.IsInvalidTime date1}" let ft = date1.ToFileTime() let date2 = DateTime.FromFileTime ft printfn $"{date1} -> {date2}" // The example displays the following output: // Invalid Time: True // 3/14/2010 2:30:00 AM -> 3/14/2010 3:30:00 AMModule Example Public Sub Main() Dim date1 As New DateTime(2010, 3, 14, 2, 30, 00) Console.WriteLine("Invalid Time: {0}", TimeZoneInfo.Local.IsInvalidTime(date1)) Dim ft As Long = date1.ToFileTime() Dim date2 As DateTime = DateTime.FromFileTime(ft) Console.WriteLine("{0} -> {1}", date1, date2) End Sub End Module ' The example displays the following output: ' Invalid Time: True ' 3/14/2010 2:30:00 AM -> 3/14/2010 3:30:00 AM