Convertendo uma data em uma string

Elixir:
Convertendo uma data em uma string

Como Fazer:

defmodule DateConverter do
  def to_string(date) do
    date
    |> Date.to_iso8601()
  end
end

# Uso:
IO.puts DateConverter.to_string(~D[2023-04-12])

Saída de exemplo:

"2023-04-12"

Aprofundando

Conversão de datas para strings não é novidade. Em Elixir, a capacidade de manipular datas veio após algumas versões, sendo refinada ao longo do tempo. Antes de ter módulos específicos como Date, programadores dependiam de bibliotecas externas ou manipulações manuais de strings.

Alternativamente, além de Date.to_iso8601/1, que converte para o padrão ISO 8601, Elixir também oferece outras funções como Date.to_string/1, que foi preterida, mas ainda pode ser encontrada em código antigo.

Os detalhes de implementação frequentemente dependem do que se pretende com o formato final da data. Por exemplo, para registrar em logs pode-se querer um formato completo com tempo até milissegundos, enquanto para exibir para usuários finais prefere-se algo mais legível, talvez até regionalizado.

Veja Também

  • Elixir Date – Documentação oficial dos módulos de data em Elixir.
  • Elixir DateTime – Para uma manipulação mais completa de datas e tempos.
  • Elixir Timex – Uma biblioteca completa para trabalhar com datas e horas em Elixir, caso precise de funções mais avançadas.