From 58876d018cbb5342cdedbdd29eba75bef0e130b1 Mon Sep 17 00:00:00 2001 From: Antoine M Date: Tue, 4 Mar 2025 16:17:43 +0100 Subject: [PATCH] introducing function to handle dates and deliver french structured informations --- includes/utilities.php | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/includes/utilities.php b/includes/utilities.php index ed87e29..439e352 100644 --- a/includes/utilities.php +++ b/includes/utilities.php @@ -204,3 +204,40 @@ function translate_wordpress_online_statuses($post_status) } return $status_object->label; } + + +function getFrenchDateFromTimestamp($timestamp) +{ + $date = new DateTime($timestamp); + $formatter = new IntlDateFormatter( + 'fr_FR', + IntlDateFormatter::FULL, + IntlDateFormatter::NONE, + 'Europe/Paris', + IntlDateFormatter::GREGORIAN, + 'd MMMM y' + ); + $formatted_date = $formatter->format($date); + return $formatted_date; +} + + +function getRelativeTimeFromTimestamp($timestamp) +{ + + $date = new DateTime($timestamp); + $now = new DateTime(); + $interval = $date->diff($now); + + // Créer le message relatif + $relative_time = ''; + if ($interval->y > 0) { + $relative_time = 'il y a ' . $interval->y . ' an' . ($interval->y > 1 ? 's' : ''); + } elseif ($interval->m > 0) { + $relative_time = 'il y a ' . $interval->m . ' mois'; + } else { + $relative_time = 'il y a ' . $interval->d . ' jour' . ($interval->d > 1 ? 's' : ''); + } + + return $relative_time; +}