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

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 ได้ดียิ่งขึ้น