การแปลงวันที่เป็นสตริง

PowerShell:
การแปลงวันที่เป็นสตริง

วิธีการ:

เพื่อทำการแปลงวันที่เป็นสตริง เราใช้เมธอด ToString หรือตัวดำเนินการรูปแบบ -f นี่คือวิธีการ:

# วันที่และเวลาปัจจุบัน
$date = Get-Date

# การแปลงเป็นสตริงแบบค่าเริ่มต้น
$dateString = $date.ToString()
Write-Output $dateString

# รูปแบบที่กำหนดเอง: ปี-เดือน-วัน ชั่วโมง:นาที
$customFormat = $date.ToString("yyyy-MM-dd HH:mm")
Write-Output $customFormat

# การใช้ตัวดำเนินการ -f สำหรับรูปแบบที่กำหนดเองเดียวกัน
$fString = "{0:yyyy-MM-dd HH:mm}" -f $date
Write-Output $fString

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

2023-03-17 10:45:00
2023-03-17 10:45
2023-03-17 10:45

ดำดิ่งลึก

PowerShell, ซึ่งได้แรงบันดาลใจจาก shell ของ Unix และ Windows Script Host, เปิดตัวคำสั่ง Get-Date ในช่วงพัฒนาการตอนต้นราวปี 2006 ที่กลายเป็นคำสั่งหลักสำหรับการดำเนินการเกี่ยวกับวันที่และเวลา เมธอด ToString บนวัตถุ DateTime และตัวดำเนินการรูปแบบ -f เป็นแนวคิดที่ยืมมาจาก .NET ให้ PowerShell มีลักษณะแบบวัตถุ

หากไม่ระบุรูปแบบลงใน ToString() จะแสดงวันที่และเวลาเต็มในรูปแบบปัจจุบันของวัฒนธรรม แต่เมื่อคุณต้องการรูปแบบเฉพาะเช่น ISO 8601 หรือเพียงแค่วันและเดือน สตริงรูปแบบวันที่และเวลาของ .NET กลายเป็นเพื่อนรักของคุณ

มีวิธีแบบเก่าอีกอย่างในการใช้รูปแบบของ DateTime เช่น yyyy สำหรับปีสี่หลัก, MM สำหรับเดือนที่เติมศูนย์ พวกมันเป็นสัญชาตญาณและมีให้เลือกมากมายสำหรับการสร้างรูปแบบวันที่และเวลา

จากนั้นมี POSIX ใน Unix ที่คำสั่ง date มีบทบาทพร้อมตัวกำหนดรูปแบบของตนเอง PowerShell เชื่อมโยงสองโลกเข้าด้วยกัน โดยยึดแนวทางที่คุ้นเคยแต่ยังให้ความเข้ากันได้อย่างหนักกับระบบ Windows

ทางเลือกอื่น ๆ รวมถึงการใช้การต่อสตริงของส่วนประกอบวันที่และการใช้ยูทิลิตี้ภายนอกหรือโครงสร้างภาษา PowerShell อย่างไรก็ตาม ต้องการให้เรื่องราวมีความเข้มแข็งด้วยคำสั่งในบ้านเป็นหลัก

คุณสามารถศึกษารายละเอียดเพิ่มเติมเกี่ยวกับตัวกำหนดรูปแบบในเอกสารทางการของ Microsoft หรือค้นหาบล็อกที่เขียนโดยชุมชนซึ่งมักแบ่งปันวิธีการสร้างสรรค์ในการจัดการวันที่และเวลาใน PowerShell

ดูเพิ่มเติม