Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การแปลงค่าของออบเจ็กต์ DateTime ปัจจุบันเป็นเวลาไฟล์ของ Windows ใน C#

ภาพรวม

เมธอด DateTime.ToFileTime() แปลงค่า DateTime เป็นเวลาไฟล์ของ Windows (Windows file time) ซึ่งเป็นจำนวน 100-นาโนวินาที นับจาก 1 มกราคม 1601 (UTC)

ตัวอย่าง 1: เวลาปัจจุบัน

using System;

public class Demo {
    public static void Main() {
        DateTime d = DateTime.Now;
        Console.WriteLine("Date = {0}", d);
        long res = d.ToFileTime();
        Console.WriteLine("Windows file time = {0}", res);
    }
}

ผลลัพธ์ตัวอย่าง 1

Date = 10/16/2019 8:17:26 AM
Windows file time = 132156874462559390

ตัวอย่าง 2: วันที่/เวลาที่กำหนด

using System;

public class Demo {
    public static void Main() {
        DateTime d = new DateTime(2019, 05, 10, 6, 10, 25);
        Console.WriteLine("Date = {0}", d);
        long res = d.ToFileTime();
        Console.WriteLine("Windows file time = {0}", res);
    }
}

ผลลัพธ์ตัวอย่าง 2

Date = 5/10/2019 6:10:25 AM
Windows file time = 132019422250000000

สรุป

  • เวลาไฟล์ Windows ใช้ในระบบไฟล์ NTFS และ API ของ Windows
  • คือ long (Int64) แทนจำนวน 100-นาโนวินาที นับจาก 1601-01-01 UTC
  • มีเมธอดคู่คือ DateTime.FromFileTime() สำหรับแปลงกลับ