ปรากฏคำถามนี้ถูกถามในลักษณะที่คล้ายกันใน "ช่วงวันที่ใดที่ windows explorer สามารถแสดงได้" และคำตอบในโพสต์นั้นให้แหล่งข้อมูลที่ดีที่เสนอคำอธิบาย
ฉันขุดลงไปในแหล่งข้อมูลเหล่านั้นและคนอื่น ๆ เล็กน้อยและจะอ้างอิงส่วนที่ฉันคิดว่ามีความเกี่ยวข้องและมีความสำคัญคำถามของคุณตั้งแต่คุณโพสต์เงินรางวัลมันจะต้องมีความสำคัญสำหรับคุณที่จะได้รับคำตอบที่ตรวจสอบได้
บันทึก: ฉันเชื่อว่านี่เป็นข้อ จำกัด ของ Windows Explorer / File Explorer และไม่ใช่ของระบบไฟล์พื้นฐาน
ตาม "การตีความ NTFS Timestamps" โพสต์และผลลัพธ์ของการทดสอบอย่างกว้างขวาง . .
Windows Explorer GUI:
ช่วงเวลา:
- 1980-01-01 00:00:00 - 2107-12-31 23:59:57
- 2107-12-31 23:59:58 และ: 59 แสดงเป็น (ว่าง)
เวลาประทับที่เหลืออยู่นอกช่วงจะถูกแปลเป็น (ว่าง)
การตีความผลลัพธ์
ในแง่ของความครอบคลุมเครื่องมือที่นำเสนอข้างต้นไม่สมบูรณ์แบบ:
ทั้งหมดได้รับผลกระทบจากข้อ จำกัด บางประเภทในช่วงเวลาที่กำหนด
แปลอย่างถูกต้อง เครื่องมือที่ออกมาดีที่สุดนั้นเรียงตามลำดับ
ช่วงเวลาที่รองรับ:
- Windows Explorer GUI ( 1980-2107 )
แหล่ง
ตาม เหตุใดการสร้างการเข้าถึงหรือเวลาที่แก้ไขของฉันจึงหายไปหากฉันตั้งเป็นเที่ยงคืนของวันที่ 1 มกราคม 1980 ข้อมูลที่เกี่ยวข้องที่นี่ . .
ลูกค้าค้นพบว่าหากโปรแกรมของพวกเขาใช้ SetFileTime
ฟังก์ชั่นเพื่อตั้งค่าการสร้างการเข้าถึงหรือเวลาของไฟล์เครือข่าย
ค่าเฉพาะของ "เที่ยงคืนของวันที่ 1 มกราคม 1980" จากนั้น
การประทับเวลาที่เกี่ยวข้องจะถูกลบออก
แหล่ง
เมื่อก่อน ฉันพูดถึงรูปแบบการประทับเวลาหลายรูปแบบที่คุณอาจพบ . วันนี้เราจะทำตามขั้นตอนที่เป็นตรรกะจากข้อมูลนั้นและพัฒนารายการค่าพิเศษที่คุณอาจพบ โปรดทราบว่าหากคุณใช้การปรับโซนเวลาการประทับเวลาจริงอาจเลื่อนได้สูงสุดวัน
- วันที่: 31 ธันวาคม 2512 - 1 มกราคม 2513
- การตีความ: ค่า -1 หรือ 0 เป็น time_t
ค่าพิเศษทั้งหมดเหล่านี้มีสิ่งหนึ่งที่เหมือนกัน: ถ้าคุณเห็นมันอาจเป็นข้อผิดพลาด โดยทั่วไปแล้วพวกเขาจะเกิดขึ้นเมื่อมีคน ไม่สามารถตรวจสอบข้อผิดพลาดได้อย่างถูกต้องและสิ้นสุดการประมวลผลรหัสข้อผิดพลาดราวกับว่าเป็นค่าส่งคืนที่ถูกต้อง . (ค่าพิเศษ 0, -1 และ 0xFFFFFFFF มักใช้เป็นรหัสข้อผิดพลาด)
แหล่ง
แหล่งข้อมูลเพิ่มเติม