ค้นหาเว็บไซต์

แปลงการประทับเวลาเป็นวันที่ใน PowerShell


หากต้องการแปลงการประทับเวลาเป็นวันที่ใน PowerShell ให้ใช้เมธอด .Net FromFileTimeToUTC() เมธอดนี้ใช้ Int64 เป็นพารามิเตอร์อินพุตและส่งกลับ DateTime

เวลาของไฟล์ Windows หรือการประทับเวลาจะแสดงเป็นเครื่องหมายถูกและจำนวนเต็มที่มีเครื่องหมาย 64 บิต (int64) แสดงถึงจำนวนช่วงเวลา 100 นาโนวินาทีที่ผ่านไปตั้งแต่วันที่ 1 มกราคม 1601 A.D 12:00 น.

ในบทความนี้ เราจะกล่าวถึงวิธีการแปลงการประทับเวลาเป็น DateTime ใน PowerShell

แปลง Int64 TimeStamp เป็น DateTime ใน PowerShell

ไลบรารี .Net DateTime มีเมธอด FromFileTimeUTC() ที่ใช้ fileTime ของ int64 เป็นพารามิเตอร์อินพุต และส่งคืนออบเจ็กต์ DateTime ที่แสดงถึงเวลา UTC ที่เทียบเท่ากับวันที่และเวลา

# Timestamp value
$timestamp = "133174935543788321"  

# Convert timestamp to datetime
[datetime]::FromFileTimeUtc($timestamp) 

ในสคริปต์ PowerShell ข้างต้น ตัวแปร $timestamp จะเก็บค่าการประทับเวลา int64 บิต หากต้องการแปลงการประทับเวลาเป็นวันที่และเวลา จะใช้เมธอด FromFileTimeUtc() และส่งกลับวันที่และเวลาเทียบเท่าเวลา UTC สำหรับการประทับเวลาที่ระบุ

ผลลัพธ์ของสคริปต์ PowerShell ข้างต้นเพื่อแปลงการประทับเวลาไฟล์ windows ที่ระบุเป็น UTC DateTime ที่เทียบเท่าคือ:

PS C:\Windows> $timestamp = "133174935543788321"                                                                        

PS C:\Windows> [datetime]::FromFileTimeUtc($timestamp)                                                                  
06 January 2023 15:45:54


PS C:\Windows>                                                                                                                             

บทสรุป

ฉันหวังว่าบทความข้างต้นเกี่ยวกับวิธีแปลงการประทับเวลาเป็น DateTime ใน PowerShell จะเป็นประโยชน์สำหรับคุณ

คุณสามารถดูหัวข้อเพิ่มเติมเกี่ยวกับคำสั่ง PowerShell Active Directory และข้อมูลพื้นฐานของ PowerShell ได้ในหน้าแรกของ ShellGeek

เนื้อหาที่แนะนำ

วิธีการแปลงสตริงเป็น DateTime ใน PowerShell

การแปลงเวลายุค PowerShell และ DateTime

PowerShell รับวันที่ลบ 1 วัน

PowerShell เปรียบเทียบวันที่แก้ไขไฟล์

PowerShell แปลงวันที่และเวลาเป็น UTC

บทความที่เกี่ยวข้อง