string - Elixir,如何从字符串转换为 Ecto.Date?
问题描述
我有一个格式的日期字符串,"dd/mm/yyyy"
我需要将该值转换为Ecto.Date
格式。
我创建了一个这样的函数,但我想知道是否有另一种方法可以做到这一点。
defp format_birthday(birthday_string) do
birthday = String.split(birthday_string, "/") |> Enum.reverse() |> Enum.join("-")
Ecto.Date.cast(birthday)
end
解决方案
如果您不想依赖 Timex 模块:
birthday = "01/12/2012"
[dd, mm, yyyy] = String.split(birthday, "/")
{:ok, date} = Date.from_iso8601("#{yyyy}-#{mm}-#{dd}")
date
==> ~D[2012-12-01]
推荐阅读
- python - 使用 Wikipedia Python 模块给我一个 SSL 错误
- javascript - React Native TypeError:未定义不是对象(评估'_ref.item')
- powerbi - 计算一个重新定基的系列
- php - 有没有办法在插件内嵌套的 WordPress 短代码之间传递数据?
- javascript - 如果时间以“:00”结尾,我如何用moment js格式化字符串以抑制分钟?
- r - 使用 Rselenium 从下拉菜单中选择选项
- c# - 加载资源失败:服务器响应状态为 500(内部服务器错误)
- html - 本机元素 toArray() 未定义
- flask - 外键的Flask SQLAlchemy自定义字段名称?
- powershell - 从函数中的 Powershell 循环提前返回