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

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

วิธีการ:

Elm จัดการกับวันที่โดยใช้โมดูล Time คุณจะได้รับเวลาปัจจุบันในรูปแบบเวลา POSIX timestamp, จากนั้นแปลงไปเป็นวันที่

import Browser
import Task
import Time

type Msg = GetCurrentTime Time.Posix

update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
    case msg of
        GetCurrentTime posixTime ->
            let
                -- แปลง POSIX time ไปเป็นรูปแบบวันที่
                date = Time.toDate posixTime
            in
            -- อัปเดตโมเดลของคุณตามที่แนะนำที่นี่
            ({ model | date = date }, Cmd.none)

-- เพื่อเริ่มการเข้าถึงเวลาปัจจุบัน
getCurrentTime : Cmd Msg
getCurrentTime =
    Task.perform GetCurrentTime Time.now

-- ตัวอย่างผลลัพธ์:
-- date { year = 2023, month = Mar, day = 26 }

ลึกซึ้ง

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

ทางเลือกอื่น ๆ รวมถึงการใช้แพ็คเกจจากบุคคลที่สามหรือการจัดการวันที่ในโค้ดเซิร์ฟเวอร์ของคุณและส่งผ่านไปยัง Elm ผ่านธงหรือพอร์ต

ในแง่ของการเนินการ, Time.now ของ Elm ได้เวลาเป็นเวลา POSIX timestamp (milliseconds นับตั้งแต่ Unix epoch) การนี้ไม่เกี่ยวข้องกับเขตเวลา, และคุณสามารถจัดรูปแบบมันได้ตามความต้องการโดยใช้ฟังก์ชันจากโมดูล Time

ดูเพิ่มเติม