Эликсир Экто Феникс - Сравнение формата строки даты «ГГГГ-ММ-ДД» с #DateTime <2017-12-01 13: 31: 14.987000Z> - PullRequest
1 голос
/ 29 апреля 2019

Я пытаюсь реализовать диапазон дат в моем Ecto-запросе, где диапазоны дат представляют собой строковые даты в формате "YYYY-MM-DD", а соответствующая дата create_at в базе данных имеет формат #DateTime<2017-12-01 13:31:14.987000Z>.

У меня настроен запрос сравнения диапазонов, единственная проблема в том, чтобы выяснить, как привести мои строки даты в тот же формат #DateTime.

1 Ответ

0 голосов
/ 29 апреля 2019

Вы можете использовать DateTime.from_iso8601 / 1

date = "2015-01-23"
case DateTime.from_iso8601("#{date}T00:00:00Z") do
    {:error, error} -> error
    {:ok, dt} -> 
                 # .... do stuff 
end

Если вам нужно манипулировать датами и временем, форматировать, анализировать и т. Д., Вы можете обратиться к Timex , поскольку оно охватывает множество обычных вещей, связанных с датами и временем.

...