Эта простая вещь потратила впустую часы моего времени, пытаясь заставить ее работать, все еще havnt отработал ее …
у меня есть
$time = '10:09';
Я хочу добавить час к этому …
Итак, я пробовал:
$time = strtotime('+1 hour'); strtotime('+1 hour', $time); $time = date('H:i', strtotime('+1 hour'));
Ничего из этого не произошло.
Можете ли вы, ребята, помочь мне?
Благодарю.
Работал для меня ..
$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
Вы можете сделать это
echo date('Ymd H:i:s', strtotime('4 minute')); echo date('Ymd H:i:s', strtotime('6 hour')); echo date('Ymd H:i:s', strtotime('2 day'));
$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 () для получения дополнительной информации.
BTW, в вашем исходном коде вам нужно добавить некоторые кавычки, иначе вы получите ошибки синтаксиса 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
попробуйте, это сработало для меня.
$time="10:09"; $time = date('H:i', strtotime($time.'+1 hour')); echo $time;
для этой проблемы, пожалуйста, выполните следующий код:
$time= '10:09'; $new_time=date('H:i',strtotime($time.'+ 1 hour')); echo $new_time;` // now output will be: 11:09
Вы можете использовать:
$time = strtotime("10:09") + 3600; echo date('H:i', $time);
Или date_add
: http://www.php.net/manual/en/datetime.add.php
Опасайтесь добавления 3600! может быть проблемой при изменении дня из-за того, что формат timestamp unix использует моль перед днем.
например, 2012-03-02 23:33:33 станет 2014-01-13 13:00:00, добавив 3600 лучших вариантов использования mktime и даты, с которыми они могут справиться, и такие вещи, как добавление 25 часов и т. д.
Вы можете попробовать этот код
$ time = '10: 09 ';
echo date ('H: i', strtotime ('+ 1 час', strtotime ($ time)));
Простое и умное решение:
date("H:i:s", time()+3600);