Adding 1 hour to time variable
This simple thing has wasted hours of my time trying to get it working, still havnt worked it out...
i have
$time = '10:09';
I want to add an hour to that...
So, I've tried:
$time = strtotime('+1 hour'); strtotime('+1 hour', $time); $time = date('H:i', strtotime('+1 hour'));
None of the above worked.
Can you guys help me out?
Thanks.
Answers
Worked for me..
$timestamp = strtotime('10:09') + 60*60; $time = date('H:i', $timestamp); echo $time;//11:09
$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);
Check PHP manual for strtotime(), strftime() and date() for details.
BTW, in your initial code, you need to add some quotes otherwise you will get PHP syntax errors:
$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
You can do like this
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'));
You can use:
$time = strtotime("10:09") + 3600; echo date('H:i', $time);
Or date_add: http://www.php.net/manual/en/datetime.add.php
Beware of adding 3600!! may be a problem on day change because of unix timestamp format uses moth before day.
e.g. 2012-03-02 23:33:33 would become 2014-01-13 13:00:00 by adding 3600 better use mktime and date functions they can handle this and things like adding 25 hours etc.
Simple and smart solution:
date("H:i:s", time()+3600);