วิธีการแปลงแบบ time_t UNIX FILETIME Win32 หรือ SYSTEMTIME

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 167296 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

ภายใต้แพลตฟอร์ม UNIX ครั้งที่แฟ้มถูกรักษาไว้ในรูปแบบ ANSI C รันไทม์ arithmetic ชนิดที่ชื่อว่า 'time_t' ซึ่งแทนวินาทีตั้งแต่เที่ยงคืน 1 มกราคม 1970 UTC (coordinated universal เวลา)

ภายใต้แพลตฟอร์ม Win32 ครั้งที่แฟ้มถูกรักษาไว้เป็นหลักในรูปของโครงแบบ 64 บิต FILETIME สร้าง ซึ่งแสดงถึงจำนวน 100-nanosecond ช่วงเวลาการนับตั้งแต่ 1 มกราคม 1601 UTC (เวลา universal coordinate)

บทความนี้แสดงวิธีการแปลงเวลา UNIX รูปแบบเวลา Win32 อื่น ๆ

ข้อมูลเพิ่มเติม

ฟังก์ชันต่อไปนี้แปลงเป็น filetime ในรูปแบบ time_t UNIX ไปเป็นรูปแบบ FILETIME Win32 โปรดสังเกตว่า time_t ค่า 32 บิต และ FILETIME เป็นโครงสร้างแบบ 64 บิต เพื่อให้มีใช้ฟังก์ชัน Win32, Int32x32To64() ในฟังก์ชันต่อไปนี้:
   #include <winbase.h>
   #include <winnt.h>
   #include <time.h>

   void UnixTimeToFileTime(time_t t, LPFILETIME pft)
   {
     // Note that LONGLONG is a 64-bit value
     LONGLONG ll;

     ll = Int32x32To64(t, 10000000) + 116444736000000000;
     pft->dwLowDateTime = (DWORD)ll;
     pft->dwHighDateTime = ll >> 32;
   }
				
เมื่อเวลา UNIX ถูกแปลงไปเป็นโครงสร้าง FILETIME รูปแบบเวลา Win32 อื่น ๆ สามารถได้อย่างง่ายดายรับ โดยใช้ฟังก์ชัน Win32 เช่น FileTimeToSystemTime() และ FileTimeToDosDateTime()
   void UnixTimeToSystemTime(time_t t, LPSYSTEMTIME pst)
   {
     FILETIME ft;

     UnixTimeToFileTime(t, &ft);
     FileTimeToSystemTime(&ft, pst);
   }
				

คุณสมบัติ

หมายเลขบทความ (Article ID): 167296 - รีวิวครั้งสุดท้าย: 12 ตุลาคม 2553 - Revision: 2.0
ใช้กับ
  • Microsoft Win32 Application Programming Interface เมื่อใช้กับ:
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
Keywords: 
kbdatetime kbhowto kbkernbase kbprogramming kbmt KB167296 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:167296

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com