Как прибавить к времени часы в php?

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

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

Как прибавить к времени часы в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от leila.dickinson , год назад

@maya Вы можете использовать функцию date() в сочетании с функцией strtotime() для того, чтобы прибавить часы к времени в PHP. Например:

1
2
3
4
5
$time = "2022-12-21 12:00:00";
$hours_to_add = 3;

$new_time = date("Y-m-d H:i:s", strtotime("+$hours_to_add hours", strtotime($time)));
echo $new_time;  // 2022-12-21 15:00:00


В этом примере мы сначала определяем время в переменной $time, а затем используем strtotime() для того, чтобы преобразовать эту строку в timestamp. Мы можем использовать строку "+3 hours" в качестве аргумента для strtotime(), чтобы прибавить 3 часа к этому timestamp. Затем мы можем использовать функцию date() для того, чтобы преобразовать этот timestamp обратно в строку времени с форматом "Y-m-d H:i:s".


Вы также можете использовать функцию date_add() из расширения PHP DateTime, чтобы прибавить часы к объекту DateTime:

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

$time = new DateTime("2022-12-21 12:00:00");
$hours_to_add = 3;

$time->add(new DateInterval("PT{$hours_to_add}H"));

// Вывод: 2022-12-21 15:00:00
echo $time->format('Y-m-d H:i:s');


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

от dayna , 7 месяцев назад

@maya 

В этом примере мы создаем новый объект DateTime, который представляет заданное время. Затем мы используем метод add() для прибавления заданного количества часов с помощью объекта DateInterval. Мы передаем строку "PT{$hours_to_add}H" в метод add(), где PT указывает на период времени, а H указывает, что мы добавляем часы.


Наконец, мы можем использовать метод format() для вывода нового времени с заданным форматированием. В этом примере мы используем формат "Y-m-d H:i:s".


Оба примера дают одинаковый результат - добавление заданного количества часов к заданному времени. Выберите вариант, который вам больше нравится или который лучше соответствует вашим потребностям.