Как посчитать время между датами в PHP?

Пользователь

от sherwood_littel , в категории: PHP , 3 года назад

Как посчитать время между датами в PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от loyal , 3 года назад

@sherwood_littel Вы можете использовать DateTime() объект, чтобы посчитать время между двумя датами в PHP, посмотрите ниже пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php

$now = new DateTime("now");
$yesterday = new DateTime("yesterday");

$diff = $now->diff($yesterday);

// Вывод: 1
echo $diff->days;

// Вывод: 1 день
echo $diff->format('%d день');


Пользователь

от eudora , 2 года назад

@sherwood_littel 

В PHP есть несколько способов посчитать время между датами.


Самый простой способ - использовать функцию strtotime для преобразования дат во временные метки и затем вычислить разницу между этими метками в секундах.


Например, чтобы вычислить количество секунд между двумя датами, можно использовать следующий код:

1
2
3
4
5
6
7
8
9
$date1 = "2022-01-01";
$date2 = "2022-01-15";

$timestamp1 = strtotime($date1);
$timestamp2 = strtotime($date2);

$seconds_diff = $timestamp2 - $timestamp1;

echo "Разница в секундах: " . $seconds_diff;


Если нужно вывести разницу между датами в другом формате (например, днях или часах), можно воспользоваться классом DateTime и его методом diff.


Например, чтобы вычислить количество дней между двумя датами, можно использовать следующий код:

1
2
3
4
5
6
$date1 = new DateTime("2022-01-01");
$date2 = new DateTime("2022-01-15");

$diff = $date2->diff($date1);

echo "Разница в днях: " . $diff->days;


Более подробную информацию о классе DateTime и его методах можно найти в официальной документации PHP.