PHP:
Обчислення дати у майбутньому або минулому
Як це зробити:
<?php
// Сьогоднішня дата
$today = new DateTime();
// Додавання 10 днів
$futureDate = clone $today;
$futureDate->modify('+10 days');
echo $futureDate->format('Y-m-d') . PHP_EOL; // Приклад виводу: 2023-04-10
// Віднімання 1 місяця
$pastDate = clone $today;
$pastDate->modify('-1 month');
echo $pastDate->format('Y-m-d') . PHP_EOL; // Приклад виводу: 2023-03-01
?>
Поглиблено:
В минулому PHP використовував функції strtotime()
і date()
для роботи з датами. З часом з’явилися об’єктно-орієнтовані класи DateTime
і DateInterval
, що дозволили більш гнучку та зрозумілу роботу з часом.
Альтернативою є використання бібліотек, таких як Carbon для PHP, яка надає ще більше функціоналу.
Особливості реалізації обчислення дати включають в себе коректне врахування переходу на літній/зимовий час і роботу з різними часовими зонами.
Дивись також:
- PHP Manual on DateTime
- DateTimeImmutable - аналог
DateTime
з незмінними об’єктами. - Carbon - A simple PHP API extension for DateTime