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()/.