Omvandla ett datum till en sträng

Elixir:
Omvandla ett datum till en sträng

Hur gör man:

Elixir använder DateTime modulen för hantering av datum. Följande är exempel på hur du kan konvertera ett datum till en sträng:

{:ok, dt_utc} = DateTime.now("Etc/UTC")
formatted_date = dt_utc |> DateTime.to_string()
IO.puts(formatted_date) # "2023-04-05 12:34:56.789Z"

För mer anpassade datumformat, använd Timex biblioteket:

{:ok, dt_utc} = DateTime.now("Etc/UTC")
formatted_date = dt_utc |> Timex.format!("{YYYY}-{0M}-{0D} {0h}:{0m}:{0s}")
IO.puts(formatted_date) # "2023-04-05 12:34:56"

För att installera Timex lägg till följande i din mix.exs fil:

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

Kör sedan mix deps.get i terminalen för att installera paketet.

Djupdykning

Historiskt sett har datumhantering i programmering varit komplext på grund av zoner, format och kalendersystem. Med DateTime modulen i Elixir, introducerad i version 1.3, har standardhanteringen av datum och tid blivit enklare och mer robust.

Alternativ till inbyggda funktioner inkluderar bibliotek som Timex, som erbjuder utökad funktionalitet. Det låter dig hantera datum i olika format mer bekvämt och supportar flera kalendersystem.

När det gäller implementationen använder DateTime.to_string/1 ISO 8601-format som standard. Det garanterar att sträng representationen kan tolkas korrekt över olika system och programmeringsspråk.

Se även