Answer the question
In order to leave comments, you need to log in
How is the output of the time interval from the date the post was created on the toaster implemented?
Such is the question. On one site I did something like this:
<?php
$post_approved_date = '2015-08-23 02:46:19'; // дата создания поста, условно.
$tm = [
86400 => "<font color=\"#75FF00\">сутки назад</font>",
172800 => "<font color=\"#61B14D\">2 дня назад</font>",
259200 => "<font color=\"#FFA300\">более 3-х дней назад</font>",
432000 => "<font color=\"#FF7800\">больше 5-ти дней назад</font>",
604800 => "<font color=\"#FF0000\">более чем неделю назад</font>",
1209600 => "<b><font color=\"#FF0000\">более 2-х недель назад</font></b>",
1814400 => "<b><font color=\"#FF0000\">более 3-х недель назад</font></b>",
2419200 => "<b><font color=\"#FF0000\">более месяца назад</font></b>",
4838400 => "<b><font color=\"#FF0000\">более 2-х месяцев назад</font></b>",
7257600 => "<b><font color=\"#FF0000\">более 3-х месяцев назад</font></b>",
15778463 => "<b><font color=\"#FF0000\">более полугода назад</font></b>",
31556926 => "<b><font color=\"#FF0000\">более полугода назад</font></b>",
];
$timediff = time() - strtotime($post_approved_date); // вычислим промежуток времени от даты создания поста.
array_walk($tm, "getElapsedTime", $timediff); // удалим лишние элементы и вытащим последний из них.
$textElapsedTime = array_pop(array_filter($tm)); // Он и будет подходящим описанием.
print_r($textElapsedTime); // вывод того, что получилось.
/**
* Удаляет временные метки, которые больше промежутка времени от даты создания поста.
* @param: &$val (string) значение элементы массива временных меток. Текстовое пояснение прошедшего времени.
* @param: $key (int) ключ элемента массива временных меток. Временная метка.
* @param: $timediff (int) промежуток времени в секундах с момента создания поста.
*/
function getElapsedTime(&$val, $key, $timediff)
{
if ( $key > $timediff )
$val = null;
}
?>
Answer the question
In order to leave comments, you need to log in
Лень разбираться как на тостере сделано.
Берите momentjs.com/docs/#/durations/humanize
Добавлено: почему JS, а не PHP? Потому, что время течет, имхо это должно быть на клиенте.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question