Elm:
Перетворення дати в рядок
Як це зробити:
У Elm, для роботи з датами та часом, корисною є бібліотека elm/time
. Ось приклад конвертації дати в рядок:
import Time exposing (Posix)
import Time.Zone exposing (Zone)
import Date
-- Припустимо у нас є об'єкт POSIX, який представляє певний момент в часі
posixDate : Posix
posixDate = Time.millisToPosix 1514764800000
-- Функція для отримання рядка з дати
formatDate : Zone -> Posix -> String
formatDate zone posix =
posix
|> Time.toIsoString
|> String.left 10
-- Використання функції
zone : Zone
zone = Time.utc
resultString : String
resultString = formatDate zone posixDate
-- "2018-01-01"
Поглиблений Розгляд:
Історичний контекст: у багатьох програмувальних мовах були свої примітиви і методи для роботи з датами, а в Elm цю роль відіграє модуль Time
.
Альтернативи: можна використовувати інші бібліотеки, як от justinmimbs/date
для додаткових оперіцій з датами. Також існує можливість застосовувати кастомні формати з індивідуальними шаблонами.
Деталі реалізації: Elm використовує тип Posix
, щоб представити момент в часі в мілісекундах з дати Unix Epoch. Time.Zone
визначає часовий пояс, для конвертування міток часу в локальний час. Функція toIsoString
повертає ISO 8601 представлення дати та часу в UTC.
Дивіться Також:
- Документація бібліотеки
elm/time
: https://package.elm-lang.org/packages/elm/time/latest/ - Посібник по роботі з датами в Elm: https://korban.net/elm/elm-date-guide/
- Бібліотека
justinmimbs/date
для роботи з датами: https://package.elm-lang.org/packages/justinmimbs/date/latest/