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