2017-03-02 3 views
1

정보를 추출하려고합니다. Ecto.DateTime이 있습니다.to_erl을 사용하여 Ecto.DateTime을 Erlang 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}}

답변

4

패턴에 변수 이름 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} 
+0

D' 오! 잘 잡으세요! –

+0

@SergioTapia 올바른 답변으로 표시하는 것이 좋습니다. – mudasobwa