В моем приложении Phoenix У меня есть форма с полем даты/времени, которая помещает значение даты и времени в Params в следующем формате:Как вы разбираете строку даты и времени в тип, совместимый с Ecto.DateTime от Elixir?
2016-11-30 20:00
Я могу разобрать его с помощью Timex библиотеки:
Timex.parse("2016-11-30 20:00", "%Y-%m-%d %H:%M", :strftime)
Каких результаты в:
{:ok, ~N[2016-11-30 20:00:00]}
"~ N [2016-11-30 20:00:00]" является "наивным" значение даты и времени, который не включает в себя временную зону. Проблема в том, что этот тип значения не соответствует Ecto.DateTime, поэтому я не могу поместить его в набор изменений и сохранить в моей базе данных.
Вопрос: Как вы анализируете дату и время в строке в значение Ecto.DateTime с конкретным часовым поясом (например, US/Eastern)?
Отлично, спасибо - это сработало. Я изменил форму типа поля Ecto.DateTime на Timex.Ecto.DateTime, тогда мне нужно было убедиться, что значение datetime правильно отформатировано с часовым поясом: «2016-12-01 12: 00: 00-0500» или «2016- 12-01 12: 00: 00Z ". Зафиксируйте это в моем проекте: https://github.com/alex-kovshovik/shovik_com/commit/5c41fa26b8d8e1a36fe1c9d00a4a05fe29081a7c –