Phoenixで時刻日時を扱うときのエトセトラ

Elixir Phoenix Web
更新2020/10/31
毎回時刻を扱うのを忘れるので Calendar と Timex についてまとめておきます。

テンプレートでDatetimeをいい感じに表示したい

Calendarが使える。
mix.exsに下記追加
{:calendar, "~> 1.0.0"},

ちょっと冗長な気がするのでもっといい方法がありそうだが、こんな感じで整形できそう。
<% {:ok,text} = Calendar.Strftime.strftime(article.updated_at,"%Y-%m-%d")  %>
<td><%= text  %></td> #=> 2020-10-31
別の例
<% {:ok,text} = Calendar.Strftime.strftime(article.updated_at,"%Y/%m/%d")  %>
<td><%= text  %></td> #=> 2020/10/31

UNIXTIMEを取得したい

Timexが使えそう
時間をunixtimeで取り出したいことがまれに良くあります。
そんなときはmix.exsに下記追加
{:timex, "~> 3.0"},
そして
unix_time = Timex.to_unix(Timex.now)
とかすると取得できる。アップロードしたファイルに時刻のタイムスタンプをつけるときとかに使える感じでした。
書いた人/このブログについて

サーバーサイドエンジニア。お仕事ではRubyとPerl。趣味ではC#やHLSLなどを少しと、3DCGでPythonをごまかしながら使う感じ。Unityとインフラ周りも好き。

自分の備忘録もGoogle検索に任せたくてこのブログ書いてる。Phoenix製でEC2上で稼働中。