From 8b7d6b6c6684a2c6e11191cc0a6e04c6fcab368a Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Mon, 21 Apr 2025 21:41:06 +0500 Subject: upd: use UTC_TIMESTAMP and new format_timestamp --- src/emotes/single_page.php | 4 +++- src/utils.php | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/emotes/single_page.php b/src/emotes/single_page.php index d338565..92b4e24 100644 --- a/src/emotes/single_page.php +++ b/src/emotes/single_page.php @@ -118,7 +118,9 @@ include_once "../../src/config.php"; echo $username; echo ""; - echo ", " . date("d M Y", $emote->get_created_at()); + echo ', get_created_at()); + echo ' UTC">about ' . format_timestamp(time() - $emote->get_created_at()) . " ago"; ?> diff --git a/src/utils.php b/src/utils.php index 59ecad4..4954580 100644 --- a/src/utils.php +++ b/src/utils.php @@ -30,4 +30,22 @@ function str_safe(string $s, int|null $max_length, bool $remove_new_lines = true $output = trim($output); return $output; +} + +function format_timestamp(int $timestamp_secs) +{ + $days = floor($timestamp_secs / (60 * 60 * 24)); + $hours = floor($timestamp_secs / (60 * 60) % 24); + $minutes = floor($timestamp_secs % (60 * 60) / 60); + $seconds = floor($timestamp_secs % 60); + + if ($days == 0 && $hours == 0 && $minutes == 0) { + return "$seconds second" . ($seconds > 1 ? "s" : ""); + } else if ($days == 0 && $hours == 0) { + return "$minutes minute" . ($minutes > 1 ? "s" : ""); + } else if ($days == 0) { + return "$hours hour" . ($hours > 1 ? "s" : ""); + } else { + return "$days day" . ($days > 1 ? "s" : ""); + } } \ No newline at end of file -- cgit v1.2.3