Loading...
PHP/MySQL | Отсчет времени.
Ребята, привет!
Как на php реализовать отсчет времени по типу "прошло уже" с определенной даты.
Спасибо.

$timestamp = 0;
$time = time() - $timestamp();

...

echo "Прошло $time сек. с " . date("d.m.y H:i", $timestamp);

________
посл. ред. 03.11.2018 в 17:07; всего 3 раз(а); by monobogdan

$year = 1945; //год создания сайта
$month = 12; //месяц
$days = 9; //день
$seconds = time() - mktime(0, 0, 0, $month, $days, $year);
$d = 60*60*24*365.4;
$year = (int)($seconds/$d);
$seconds = $seconds - $year*$d;
$d = 60*60*24*30.4;
$month = (int)($seconds/$d);
$seconds = $seconds - $month*$d;
$d = 60*60*24;
$day = (int)($seconds/$d);
$week = (int)($day/7);
$day = $day - $week*7;
echo "$year л., $month м., $week н. и $day дн.";
Вариант 1


<?php
function decline($number, $titles = []) {
$cases = array(2, 0, 1, 1, 1, 2);
return $number . ' ' . $titles[($number % 100 > 4 && $number % 100 < 20) ? 2 : $cases[min($number % 10, 5)]];
}
$date = '01.09.2018';
echo 'С даты ' . $date . ' прошло ' . decline(date_diff(date_create($date), date_create(date('d.m.Y')))->format('%a'), ['день', 'дня', 'дней']);


Результат - С даты 01.09.2018 прошло 67 дней
________
посл. ред. 07.11.2018 в 09:15; всего 2 раз(а); by PhpStorm
Вариант 2 - с точностью по времени


<?php
$time = new DateTime('2018-08-07 10:30:00');// начало отсчёта
$time_off = new DateTime('2018-08-22 12:30:00');// конец отсчёта
$result = $time->diff($time_off);
echo 'Прошло ' . $result->d . ' дн. ' . $result->h . ' час. ' . $result->i . ' мин.';


Результат - Прошло 15 дн. 2 час. 0 мин.
Вариант 3 - самый простой


<?php
echo 'С 1 ноября 2018 года прошло ' . date_diff(new DateTime(), new DateTime('01.11.2018'))->days . ' дн.';


Результат - С 1 ноября 2018 года прошло 6 дн.
________
посл. ред. 07.11.2018 в 09:27; всего 1 раз(а); by PhpStorm
Онлайн: 4
Время:
Gen. 0.1144
(c) Bym.Guru 2010-2025