使用to_erl将ecto.datetime转换为erlang dateTime元组



我有一个ecto.datetime,我正在尝试从。

中提取信息

这很好:

{{y, m, d}, _} = Ecto.DateTime.to_erl(date)
"#{m}/#{d}/#{y}"

我现在正在尝试获取小时/分钟/第二个值:

{{y, m, d}, {h,m,s}} = Ecto.DateTime.to_erl(date)
"#{m}/#{d}/#{y}"

但是我得到了这个错误

没有右手侧值的匹配:{{2017,5,5},{12,0,0}}}

您正在重复使用模式中的变量名称m,这意味着只有在一个月和分钟值相同的情况下才能使用。您需要使用不同的名称,例如

{{y, m, d}, {h, min, s}} = Ecto.DateTime.to_erl(date)

{{y, mon, d}, {h, m, s}} = Ecto.DateTime.to_erl(date)
iex(1)> {a, a} = {1, 2}
** (MatchError) no match of right hand side value: {1, 2}
iex(1)> {a, a} = {1, 1}
{1, 1}

最新更新