Att tolka ett datum från en sträng

Elixir:
Att tolka ett datum från en sträng

Hur man gör:

I Elixir kan du tolka datum genom att använda modulen Date. Så här omvandlar du en sträng till ett datum:

date_string = "2023-04-05"
{:ok, date} = Date.from_iso8601(date_string)
IO.inspect(date)

Exempel på utdata:

~D[2023-04-05]

För att hantera olika format kan du använda biblioteket Timex:

{:ok, datetime} = Timex.parse("05-04-2023", "{D}-{0M}-{YYYY}")
IO.inspect(datetime)

Exempel på utdata:

#DateTime<2023-04-05 00:00:00Z>

Fördjupning

Funktionen Date.from_iso8601/1 är en del av Elixirs standardbibliotek, introducerad för att säkerställa enkel tolkning av ISO8601-standarden för datum - ett vanligt datumformat. Men livet är inte så enkelt; datum kommer i massor av format. Det är här Timex, ett tredjeparts Elixir-bibliotek, kommer in i bilden. Det är rikare än de inbyggda datumfunktionerna i Elixir och hjälper till att hantera en mängd olika datumformat.

Elixir självt är oföränderligt, vilket innebär att tolkade datum är inget undantag; de kan inte ändras när de väl skapats. Denna funktion går tillbaka till de funktionella programmeringsrötterna hos Elixir, vilket garanterar förutsägbarhet och enklare felsökning.

Historiskt sett har datumtolkning varit svårt på grund av varierande standarder. Men med bibliotek som Timex och språkfunktioner i Elixir, abstraheras komplexiteten bort, vilket gör en utvecklares liv lite enklare.

Se också