From 8a109437bcdea5cfd7de1b6027bd00f21b3bbc49 Mon Sep 17 00:00:00 2001 From: inhji Date: Fri, 10 Mar 2023 15:11:24 +0100 Subject: [PATCH] =?UTF-8?q?=E2=80=9Elib/chiya=5Fweb/format.ex=E2=80=9C=20?= =?UTF-8?q?=C3=A4ndern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/chiya_web/format.ex | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/lib/chiya_web/format.ex b/lib/chiya_web/format.ex index ecb12bd..2ad0aa1 100644 --- a/lib/chiya_web/format.ex +++ b/lib/chiya_web/format.ex @@ -1,16 +1,27 @@ defmodule ChiyaWeb.Format do - def from_now(later, now \\ DateTime.utc_now()) do + def from_now(later) do + now = DateTime.utc_now() diff = DateTime.diff(now, later) - cond do - diff <= -24 * 3600 -> "in #{div(-diff, 24 * 3600)}d" - diff <= -3600 -> "in #{div(-diff, 3600)}h" - diff <= -60 -> "in #{div(-diff, 60)}m" - diff <= -5 -> "in #{-diff}s" - diff <= 5 -> "now" - diff <= 60 -> "#{diff}s ago" - diff <= 3600 -> "#{div(diff, 60)}m ago" - diff <= 24 * 3600 -> "#{div(diff, 3600)}h ago" - true -> "#{div(diff, 24 * 3600)}d ago" - end + do_from_now(diff) + end + + def from_now_naive(later) do + now = NaiveDateTime.utc_now() + diff = NaiveDateTime.diff(now, later) + do_from_now(diff) + end + + def do_from_now(diff) do + cond do + diff <= -24 * 3600 -> "in #{div(-diff, 24 * 3600)}d" + diff <= -3600 -> "in #{div(-diff, 3600)}h" + diff <= -60 -> "in #{div(-diff, 60)}m" + diff <= -5 -> "in #{-diff}s" + diff <= 5 -> "now" + diff <= 60 -> "#{diff}s ago" + diff <= 3600 -> "#{div(diff, 60)}m ago" + diff <= 24 * 3600 -> "#{div(diff, 3600)}h ago" + true -> "#{div(diff, 24 * 3600)}d ago" + end end end \ No newline at end of file