DateTime.ToFileTime Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengonversi nilai objek saat ini DateTime ke waktu file Windows.
public:
long ToFileTime();
public long ToFileTime();
member this.ToFileTime : unit -> int64
Public Function ToFileTime () As Long
Mengembalikan
Nilai objek saat ini DateTime dinyatakan sebagai waktu file Windows.
Pengecualian
Waktu file yang dihasilkan akan mewakili tanggal dan waktu sebelum 12:00 tengah malam 1 Januari 1601 C.E. UTC.
Contoh
Contoh berikut menunjukkan ToFileTime metode .
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
Keterangan
Waktu file Windows adalah nilai 64-bit yang menunjukkan jumlah interval 100 nanodetik yang telah berlalu sejak 12:00 tengah malam, 1 Januari 1601 A.D. (C.E.) Waktu Universal Terkoordinasi (UTC). Windows menggunakan waktu file untuk merekam ketika aplikasi membuat, mengakses, atau menulis ke file.
Metode ini ToFileTime menggunakan Kind properti untuk menentukan apakah objek saat ini DateTime adalah waktu lokal, waktu UTC, atau jenis waktu yang tidak ditentukan, yang diperlakukan sebagai waktu lokal.
Catatan Bagi Pemanggil
Biasanya, FromFileTime(Int64) metode memulihkan DateTime nilai yang disimpan oleh ToFileTime() metode . Namun, kedua nilai mungkin berbeda dalam kondisi berikut:
Jika serialisasi dan deserialisasi DateTime nilai terjadi di zona waktu yang berbeda. Misalnya, jika DateTime nilai dengan waktu 12:30 P.M. di zona Waktu Timur AS diserialisasikan, dan kemudian dideserialisasi di zona Waktu Pasifik AS, nilai asli 12:30 P.M. disesuaikan menjadi 09:30 A.M. untuk mencerminkan perbedaan antara dua zona waktu.
DateTime Jika nilai yang diserialisasikan mewakili waktu yang tidak valid di zona waktu lokal. Dalam hal ini, ToFileTime() metode menyesuaikan nilai yang dipulihkan DateTime sehingga mewakili waktu yang valid di zona waktu lokal.
Misalnya, transisi dari waktu standar ke waktu musim panas terjadi di zona Waktu Pasifik A.S. pada 14 Maret 2010, pukul 02.00, ketika waktu maju satu jam, menjadi 03:00 A.M. Interval jam ini adalah waktu yang tidak valid, yaitu, interval waktu yang tidak ada di zona waktu ini. Contoh berikut menunjukkan bahwa ketika waktu yang termasuk dalam rentang ini dikonversi ke nilai bilangan bulat panjang dengan ToFileTime() metode dan kemudian dipulihkan oleh FromFileTime(Int64) metode , nilai asli disesuaikan untuk menjadi waktu yang valid. Anda dapat menentukan apakah nilai tanggal dan waktu tertentu mungkin tunduk pada modifikasi dengan meneruskannya ke IsInvalidTime(DateTime) metode , seperti yang diilustrasikan contohnya.
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