Fish Shell:
การแปลงวันที่เป็นสตริง
วิธีการ:
Fish shell ทำให้สิ่งต่างๆเข้าใจง่าย ลองจัดรูปแบบวันที่ปัจจุบันดู:
set formatted_date (date "+%Y-%m-%d")
echo $formatted_date
ตัวอย่างผลลัพธ์:
2023-04-11
ต้องการบางอย่างที่เฉพาะเจาะจงขึ้น เช่น วันของสัปดาห์หรือไม่?
set day_of_week (date "+%A")
echo $day_of_week
ตัวอย่างผลลัพธ์:
วันอังคาร
จะเพิ่มเวลาลงไปด้วยไหม? นี่คือวันที่และเวลาในรูปแบบ 24 ชั่วโมง:
set date_and_time (date "+%Y-%m-%d %H:%M:%S")
echo $date_and_time
ตัวอย่างผลลัพธ์:
2023-04-11 21:30:47
การทำความเข้าใจลึกซึ้ง
ในอดีต ระบบที่คล้ายกับ Unix เช่น Linux ได้นำเอาคำสั่ง date
มาใช้ ซึ่งได้พัฒนาต่อเนื่องมาเป็นเวลานานและยังคงได้รับความนิยมใน shells เช่น bash และ zsh Fish shell ได้รับพันธกรณีนี้ แต่ส่งเสริมไวยากรณ์ที่อ่านง่ายขึ้นไม่ต้องใช้ธง(flag)สำหรับการตั้งค่าตัวแปร
มีทางเลือกอื่น เช่น ฟังก์ชัน strftime
ในหลายภาษาการเขียนโปรแกรม Fish ไม่รองรับโดยตรง แต่ date
ใน UNIX มีความสามารถพอที่จะตอบสนองความต้องการส่วนใหญ่
เมื่อแปลงวันที่เป็นสตริง ตัวกำหนดรูปแบบ เช่น %Y
สำหรับปีหรือ %A
สำหรับวันในสัปดาห์ ตามมาตรฐาน POSIX คำสั่ง date
ใช้ตัวกำหนดเหล่านี้ในการดึงและจัดรูปแบบส่วนที่เฉพาะเจาะจงของวันที่
สำคัญที่จะต้องทราบว่า เนื่องจากวันที่และเวลาขึ้นอยู่กับสถานที่และเขตเวลาอย่างมาก สตริงที่สร้างขึ้นอาจแตกต่างกันไปหากไม่ได้ระบุไว้ คุณสามารถตั้งค่าเขตเวลาก่อนเรียกใช้ date
:
set TZ 'America/New_York'
set date_with_timezone (date "+%Y-%m-%d %H:%M:%S %Z")
echo $date_with_timezone
นี่จะช่วยให้คุณพิจารณาถึงความเป็นท้องถิ่นของข้อมูลของคุณ—รายละเอียดที่ไม่ควรมองข้ามในโลกที่โลกาภิวัตน์
ดูเพิ่มเติม
- หน้า
man
สำหรับdate
(คู่มือออนไลน์) ให้ข้อมูลเพิ่มเติมเกี่ยวกับตัวกำหนดรูปแบบ - เพื่อทำความเข้าใจบริบทที่กว้างขึ้น อ่านเกี่ยวกับ มาตรฐาน POSIX
- ดูเอกสารอย่างเป็นทางการของ Fish shell เกี่ยวกับ ตัวแปร เพื่อเข้าใจคำสั่ง
set
ได้ดียิ่งขึ้น