การรับวันที่ปัจจุบัน

Haskell:
การรับวันที่ปัจจุบัน

วิธีการ:

ไลบรารีมาตรฐานของ Haskell, base, มีโมดูล Data.Time ซึ่งเสนอฟังก์ชันการทำงานกับวันที่และเวลา นี่คือวิธีใช้งานเพื่อรับข้อมูลวันที่ปัจจุบัน:

import Data.Time (getCurrentTime, utctDay)

main :: IO ()
main = do
    now <- getCurrentTime
    let today = utctDay now
    print today

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

2023-04-12

สำหรับความยืดหยุ่นมากขึ้น เช่น การจัดรูปแบบวันที่หรือการทำงานกับเขตเวลาที่แตกต่างกัน ไลบรารี time มีค่าอย่างมาก นี่คือวิธีที่คุณอาจจัดรูปแบบวันที่ปัจจุบัน:

import Data.Time

main :: IO ()
main = do
    now <- getCurrentTime
    timezone <- getCurrentTimeZone
    let zoneNow = utcToLocalTime timezone now
    putStrLn $ formatTime defaultTimeLocale "%Y-%m-%d" zoneNow

ซึ่งจะพิมพ์วันที่ปัจจุบันในรูปแบบ YYYY-MM-DD, ปรับให้เข้ากับเขตเวลาท้องถิ่น

นอกจากนี้ สำหรับการสนับสนุนไลบรารีบุคคลที่สาม time ได้รับการแนะนำอย่างสูงและมักจะใช้ในชุมชน Haskell เนื่องจากความสามารถในการจัดการวันที่และเวลาที่กว้างขวาง เอ็กซ์แซมเปิ้ลข้างต้นใช้ไลบรารีนี้

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