Here's an example of the datetime strings I am working with:
Tue May 15 10:14:30 +0000 2012
Here is my attempt to add an hour onto it:
$time = 'Tue May 15 10:14:30 +0000 2012'; $dt = new DateTime($time); $dt->add(new DateInterval('P1h'));
But the second line gives the error that it couldn't be converted.
Thanks.
$today = date("Y-m-d H:i:s"); $modtime = date( "Y-m-d H:i:s", strtotime( $today ) + (2*60 * 60));
To add 30 minutes to the Date Object first, we get the current time by using the Date. getTime( ) method and then add 30 minute's milliseconds value (30 * 60 * 1000) to it and pass the added value to the Date Object.
Use the timedelta() class from the datetime module to add minutes to datetime, e.g. result = dt + timedelta(minutes=10) . The timedelta class can be passed a minutes argument and adds the specified number of minutes to the datetime.
You should add a T
before the time specification part:
$time = 'Tue May 15 10:14:30 +0000 2012'; $dt = new DateTime($time); $dt->add(new DateInterval('PT1H'));
See the DateInterval
constructor documentation:
The format starts with the letter P, for "period." Each duration period is represented by an integer value followed by a period designator. If the duration contains time elements, that portion of the specification is preceded by the letter T.
(Emphasis added)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With