Упражнения с датами PHP: вычисление разницы между двумя датами
Вычислите разницу между двумя датами (в годах, месяцах, днях)
Напишите сценарий PHP для вычисления разницы между двумя датами.
Примеры дат: 4 ноября 1980 г., 4 сентября 2021 г.
Пример
Попробуй сам »<?php
$sdate = "1980-11-04";
$edate = "2021-04-04";
$date_diff = abs(strtotime($edate) - strtotime($sdate));
$years = floor($date_diff / (365*60*60*24));
$months = floor(($date_diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($date_diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
printf("%d лет, %d месяцев, %d дней", $years, $months, $days);
printf("\n");
?>
Объяснение к упражнению:
abs — Абсолютное значение (модуль числа)
strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix
Синтаксис
strtotime ( string $datetime , int|null $baseTimestamp = null ) : int|false
Первым параметром функции должна быть строка с датой на английском языке, которая будет преобразована в метку времени Unix (количество секунд, прошедших с 1 января 1970 года 00:00:00 UTC) относительно метки времени, переданной в baseTimestamp, или текущего времени, если аргумент
baseTimestamp
опущен.Список параметров
-
datetime
-
Строка даты/времени. Объяснение корректных форматов дано в разделе Дата и время.
-
baseTimestamp
-
Временная метка, используемая в качестве базы для вычисления относительных дат.
Комментарии
<code>
, несколько строчек кода — в теги<pre><code>
...ваш код...</code></pre>
.