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

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

วิธีการ:

ใน Lua เราใช้ os.date สำหรับการจัดรูปแบบวันที่ให้เป็นสตริง นี่คือชิ้นส่วนของโค้ดที่คุณสามารถลองศึกษาได้

local now = os.time()
local formatted = os.date("%Y-%m-%d %H:%M:%S", now)
print(formatted)
-- ตัวอย่างผลลัพธ์: 2023-04-01 15:24:37

ต้องการรูปแบบที่แตกต่างออกไปหรือไม่? ปรับแต่งรูปแบบสตริงตามที่คุณต้องการ

local friendly_format = os.date("%B %d, %Y")
print(friendly_format)
-- ตัวอย่างผลลัพธ์: เมษายน 01, 2023

การดำดิ่งลึก

ฟังก์ชัน os.date ของ Lua ถูกออกแบบตามฟังก์ชัน strftime ของ POSIX หากคุณดูใกล้ๆ คุณจะสังเกตเห็นว่ามันคล้ายคลึงกับครอบครัวฟังก์ชัน printf ของภาษา C—รากฐานเดียวกัน

มีทางเลือกอื่นหรือไม่? แน่นอน คุณอาจเลือกใช้การต่อสตริงและการอ้างถึงตารางด้วยตัวเอง—การเลือกส่วนประกอบของวันที่ด้วยตนเอง แต่ทำไมต้องยุ่งยากเมื่อ os.date รับมือได้ทุกอย่าง?

รายละเอียดการตั้งค่า? ฟังก์ชัน os.date สามารถทำงานในสองวิธี:

  • หากมีการให้สตริงรูปแบบ มันจะคืนค่าวันที่ที่จัดรูปแบบแล้ว
  • หากไม่มีการกำหนดรูปแบบ ฟังก์ชันนี้จะคืนค่าตารางที่มีส่วนประกอบของวันที่

ข้อเท็จจริงที่สนุก: ฟังก์ชันที่เกี่ยวกับเวลาของ Lua ใช้จุดอ้างอิงเป็นเอพอค—จำนวนวินาทีนับตั้งแต่วันที่ 1 มกราคม 1970 ความผิดปกตินี้ตามรอยเท้ามาจากเวลาของ Unix

ดูเพิ่มเติม