Подтвердить что ты не робот

Добавление переменной от 1 часа до времени

Эта простая вещь потратила впустую часы моего времени, пытаясь заставить ее работать, но havnt не разработал ее...

У меня есть

$time = '10:09';

Я хочу добавить час к этому...

Итак, я пробовал:

$time = strtotime('+1 hour');

strtotime('+1 hour', $time);

$time = date('H:i', strtotime('+1 hour'));

Ничего из этого не было сделано.

Можете ли вы, ребята, помочь мне?

Спасибо.

4b9b3361

Ответ 1

Работал для меня..

$timestamp = strtotime('10:09') + 60*60;

$time = date('H:i', $timestamp);

echo $time;//11:09

Пояснение:

strtotime('10:09') создает цифровую метку времени в секундах, что-то вроде 1510450372. Просто добавьте или удалите необходимое количество секунд и используйте date(), чтобы преобразовать его обратно в читаемый человеком формат.

$timestamp = strtotime('10:09') + 60*60; // 10:09 + 1 hour
$timestamp = strtotime('10:09') + 60*60*2; // 10:09 + 2 hours
$timestamp = strtotime('10:09') - 60*60; // 10:09 - 1 hour

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

$timestamp = time() + 60*60; // now + 1 hour

Ответ 2

Вы можете сделать это следующим образом:

    echo date('Y-m-d H:i:s', strtotime('4 minute'));
    echo date('Y-m-d H:i:s', strtotime('6 hour'));
    echo date('Y-m-d H:i:s', strtotime('2 day'));

Ответ 3

$time = '10:09';
$timestamp = strtotime($time);
$timestamp_one_hour_later = $timestamp + 3600; // 3600 sec. = 1 hour

// Formats the timestamp to HH:MM => outputs 11:09.
echo strftime('%H:%M', $timestamp_one_hour_later);
// As crolpa suggested, you can also do
// echo date('H:i', $timestamp_one_hour_later);

Проверьте руководство по PHP для strtotime(), strftime() и date() для деталей.

Кстати, в вашем исходном коде вам нужно добавить некоторые кавычки, иначе вы получите ошибки синтаксиса PHP:

$time = 10:09; // wrong syntax
$time = '10:09'; // syntax OK

$time = date(H:i, strtotime('+1 hour')); // wrong syntax
$time = date('H:i', strtotime('+1 hour')); // syntax OK

Ответ 4

попробуйте, это сработало для меня.

$time="10:09";
$time = date('H:i', strtotime($time.'+1 hour'));
echo $time;

Ответ 5

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

$time= '10:09';
$new_time=date('H:i',strtotime($time.'+ 1 hour'));
echo $new_time;`
// now output will be: 11:09

Ответ 6

2019 Обновление

Странно, что никто не предложил путь ООП:

$date = new \DateTime(); //now
$date->add(new \DateInterval('PT3600S'));//add 3600s / 1 hour

ИЛИ ЖЕ

$date = new \DateTime(); //now
$date->add(new \DateInterval('PT60M'));//add 60 min / 1 hour

ИЛИ ЖЕ

$date = new \DateTime(); //now
$date->add(new \DateInterval('PT1H'));//add 1 hour

Извлеките его в строку с форматом:

var_dump($date->format('Y-m-d H:i:s'));

Я надеюсь, что это помогает

Ответ 8

Простое и умное решение:

date("H:i:s", time()+3600);

Ответ 9

Остерегайтесь добавления 3600! может быть проблемой при изменении дня, потому что формат timestamp unix использует моль перед днем.

например. 2012-03-02 23:33:33 станет 2014-01-13 13:00:00, добавив 3600 лучших функций использования mktime и даты, с которыми они могут справиться, и такие вещи, как добавление 25 часов и т.д.

Ответ 10

Вы можете попробовать этот код:

$time = '10:09';

echo date( 'H:i', strtotime( '+1 hour' , strtotime($time) ) );

Ответ 11

Как сказал учащийся, перестаньте использовать не-ООП способом, мы в 2019 году! Проще и безопаснее пользоваться ООП классом. Большое спасибо за пост учащегося