As it was a little less then trivial to get the current system time as string in Elixir, I’ve added this helper module that basically converts Erlang’s calendar output to a string that can be flexibly formatted:
defmodule Util.Time do
@moduledoc """
Time helper functions.
"""
@doc """
Get current time as string using Erlang's calendar module.
"""
@spec now_to_string() :: String.t
def now_to_string() do
{{year, month, day}, {hour, minute, second}} = :calendar.local_time()
"#{day}.#{month |> zero_pad}.#{year} #{hour |> zero_pad}:#{minute |> zero_pad}:#{second |> zero_pad}"
end
@spec zero_pad(Integer, Integer) :: String.t
defp zero_pad(number, amount \\ 2) do
number
|> Integer.to_string
|> String.rjust(amount, ?0)
end
end
Here’s a gist.