미래나 과거의 날짜 계산하기

Elixir:
미래나 과거의 날짜 계산하기

How to:

Elixir에서는 Timex 라이브러리를 사용해 날짜 계산을 쉽게 할 수 있습니다.

# Timex 설치가 필요합니다: {:timex, "~> 3.7"}
defmodule DateCalculator do
  import Timex

  def add_days_to_date(date, days) do
    date |> Timex.add(days: days)
  end

  def subtract_days_from_date(date, days) do
    date |> Timex.subtract(days: days)
  end
end

# 오늘로부터 10일 후
IO.inspect DateCalculator.add_days_to_date(Timex.today(), 10)

# 오늘로부터 10일 전
IO.inspect DateCalculator.subtract_days_from_date(Timex.today(), 10)

예상 출력:

~N[2023-04-24 00:00:00]
~N[2023-04-04 00:00:00]

Deep Dive

그레고리력이 도입되기 이전에는 율리우스력을 사용했고, 날짜 계산이 더 복잡했습니다. 시스템에 따라서도 날짜 처리가 달랐습니다.

Timex는 Elixir에서 날짜와 시간을 다루기 위해 널리 사용되는 라이브러리입니다. 내부적으로는 Erlang의 :calendar:datetime 모듈을 활용합니다.

Elixir 표준 라이브러리에서도 Date, DateTime 모듈을 통해 기본적인 날짜 계산 기능을 제공하지만, Timex는 시간대 관리, 포맷팅, 파싱 등 추가 기능을 포함하고 있어 더 강력합니다.

다른 언어에서는 다른 라이브러리를 사용할 수도 있습니다. 예를 들면, Python에서는 datetime 모듈, JavaScript에서는 Date 객체 또는 moment.js 라이브러리 등이 있습니다.

See Also