Elixir:
Obtendo a data atual

Como fazer:

A biblioteca padrão do Elixir, por meio do módulo DateTime, permite buscar a data e hora atuais. Como o Elixir é executado na VM do Erlang (BEAM), ele aproveita as funcionalidades subjacentes do Erlang para operações com o tempo.

Usando a Biblioteca Padrão do Elixir

O Elixir fornece a função DateTime.utc_now/0 para obter a data e hora atuais em UTC.

current_datetime_utc = DateTime.utc_now()
IO.inspect(current_datetime_utc)

Saída de Exemplo:

~U[2024-02-05 19:58:40.925931Z]

Para obter apenas a data atual, você pode extrair os componentes de ano, mês e dia:

{:ok, current_date} = Date.new(current_datetime_utc.year, current_datetime_utc.month, current_datetime_utc.day)
IO.inspect(current_date)

Saída de Exemplo:

~D[2023-05-04]

Usando a Biblioteca Timex

Para requisitos de data-hora mais complexos, pode-se utilizar uma biblioteca de terceiros popular chamada Timex. Primeiramente, adicione Timex às suas dependências no mix.exs:

defp deps do
  [
    {:timex, "~> 3.7"}
  ]
end

Após instalar a dependência (mix deps.get), você pode usar o Timex para obter a data atual:

current_date = Timex.today()
IO.inspect(current_date)

Saída de Exemplo:

~D[2023-05-04]

O Timex oferece funcionalidades extensivas para a manipulação de data-hora, tornando-se um poderoso acréscimo às suas aplicações em Elixir, especialmente quando lidando com fusos horários, formatação e análise de datas e horas.

Compreendendo e utilizando as capacidades integradas do Elixir e a biblioteca Timex, você pode trabalhar facilmente com datas e horas em suas aplicações Elixir, adequando a experiência às necessidades da sua aplicação com precisão e facilidade.