Imperative cascading conditionals with short-circuit returns. Declarative approach?

This is an excellent example of how useful pattern matching is…

You can solve it with case do end, but You can also use something like this.

defmodule Demo do
  @seconds_in_one_year 31_557_600
  @seconds_in_one_month 2_629_800
  
  def display_seconds(seconds) when seconds > 94_672_800, do: number_format(seconds / @seconds_in_one_year)
  def display_seconds(seconds) when seconds > 7_889_400, do: number_format(seconds / @seconds_in_one_month)
  
  defp number_format(number), do: "whatever #{number}"
end