PHP-скрипт «От даты до даты»
Этот скрипт можно использовать для различных приложений сайта, например, «сайту дней» или всевозможных напоминаний (начало отсчёта, в этом случае, задаётся будущей датой) и таймеров:
<?php
echo abs( intval( (time() - mktime( 0 , 0 , 0 , 1 , 1 , 1970 )) / 86400 ) );
?>
Результат — количество дней, прошедших с начала эпохи Unix (с 01.01.1970).
86400
- количество секунд в сутках, для вывода результата в часах — 3600, минутах — 60.
0 , 0 , 0 , 1 , 1 , 1970
- начало отсчёта: часы, минуты, секунды, месяц, день и год соответственно.
mktime()
- количество секунд, прошедших от начала эпохи Unix до указанной даты (начала отсчёта).
time()
- количество секунд, прошедших от начала эпохи Unix до настоящего момента.
intval()
- целая часть числа.
abs()
- модуль числа (абсолютное значение).
Алгоритм
- Берём количество секунд, прошедших от начала эпохи Unix до начала отсчёта /
mktime()
/ и отнимаем их от количества секунд, прошедших от начала эпохи Unix до настоящего момента /time()
/. - Делим результат на количество секунд в сутках /
86400
/ или другое количество — в зависимости от того, в каких единицах нужен результат. - Отделяем целую часть /
intval()
/ и берём модуль числа /abs()
/.