Сформировать вывод такого формата дат?

Имеется вывод сообщений в чат.
Каким нужным и более того правильным методом сформировать данный формат дат?
На данном этапе, вывод даты осуществлен с помощью Carbon diffForHumans();
Документацию юзал, но не уверен в правильности подхода.
Скриншот прилагается:
5ee286fddbe2e701776039.png
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
profesor08
@profesor08 Куратор тега PHP
Просто посчитай дни.

<?php

$today = strtotime(date("d-m-Y 00:00:00", time()));
$days = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"];

$timeForHumans = function (int $time) use ($today, $days): string {
    $diff = $today - $time;
    $day = 86400;
    
    if ($diff < 0 && $diff >= -$day) {
       return "Сегодня";
    }
    elseif ($diff > 0 && $diff <= $day) {
        return "Вчера";
    }
    elseif ($diff > $day && $diff < $day * 6) {
        return $days[date("w", $time)];
    }
    
    return date("d.m.Y", $time);
};

for ($i = 0; $i < 10; $i++) {
    echo $timeForHumans(time() - (86400 * $i)) . PHP_EOL;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы