Ervin Ter
Ervin Ter

Reputation: 1113

PHP Date Time Current Time Add Minutes

Simple question but this is killing my time.

Any simple solution to add 30 minutes to current time in php with GMT+8?

Upvotes: 61

Views: 208763

Answers (13)

Khriz
Khriz

Reputation: 5988

I think one of the best solutions and easiest is:

date("Y-m-d", strtotime("+30 minutes"))

Maybe it's not the most efficient but is one of the more understandable.

Upvotes: 142

dyedwiper
dyedwiper

Reputation: 338

new DateTime('+30minutes')

As simple as the accepted solution but gives you a DateTime object instead of a Unix timestamp.

Upvotes: 0

swastika polley
swastika polley

Reputation: 29

$dateTime = new DateTime('now', new DateTimeZone('Asia/Kolkata')); 
echo $dateTime->modify("+10 minutes")->format("H:i:s A");

Upvotes: 3

Lawrence Cherone
Lawrence Cherone

Reputation: 46602

The question is a little old, but I come back to it often ;p

Another way, which is also a one liner:

<?= date_create('2111-11-11 00:00:00')->modify("+30 minutes")->format('Y-m-d h:i:s') ?>

Or from timestamp, returns Y-m-d h:i:s:

<?= date_create('@'.time())->modify("+30 minutes")->format('Y-m-d h:i:s') ?>

Or from timestamp, returns timestamp:

<?= date_create('@'.time())->modify("+30 minutes")->format('U') ?>

Upvotes: 0

Faysal Ahammed
Faysal Ahammed

Reputation: 123

time after 30 min, this easiest solution in php

date('Y-m-d H:i:s', strtotime("+30 minutes"));

for DateTime class (PHP 5 >= 5.2.0, PHP 7)

$dateobj = new DateTime();
$dateobj ->modify("+30 minutes"); 

Upvotes: 0

priya
priya

Reputation: 21

$ck=2016-09-13 14:12:33;
$endtime = date('H-i-s', strtotime("+05 minutes", strtotime($ck)));  

Upvotes: 2

hareesh reddy
hareesh reddy

Reputation: 36

$time = strtotime(date('2016-02-03 12:00:00'));
        echo date("H:i:s",strtotime("-30 minutes", $time));

Upvotes: -1

a_m0d
a_m0d

Reputation: 12195

It looks like you are after the DateTime function add - use it like this:

$date = new DateTime();
date_add($date, new DateInterval("PT30M"));

(Note: untested, but according to the docs, it should work)

Upvotes: 3

MD SHAHIDUL ISLAM
MD SHAHIDUL ISLAM

Reputation: 14523

Time 30 minutes later

$newTime = date("Y-m-d H:i:s",strtotime(date("Y-m-d H:i:s")." +30 minutes"))

Upvotes: 13

RafaSashi
RafaSashi

Reputation: 17205

In addition to Khriz's answer.

If you need to add 5 minutes to the current time in Mysql format you can do:

$cur_time=date("Y-m-d H:i:s");
$duration='+5 minutes';
echo date('Y-m-d H:i:s', strtotime($duration, strtotime($cur_time)));

Upvotes: 1

sarah
sarah

Reputation: 105

echo $date = date('H:i:s', strtotime('13:00:00 + 30 minutes') );

13:00:00 - any inputted time

30 minutes - any interval you wish (20 hours, 10 minutes, 1 seconds etc...)

Upvotes: 5

mns
mns

Reputation: 729

This is an old question that seems answered, but as someone pointed out above, if you use the DateTime class and PHP < 5.3.0, you can't use the add method, but you can use modify:

$date = new DateTime();
$date->modify("+30 minutes"); //or whatever value you want

Upvotes: 62

Stefan Gehrig
Stefan Gehrig

Reputation: 83622

$timeIn30Minutes = mktime(idate("H"), idate("i") + 30);

or

$timeIn30Minutes = time() + 30*60; // 30 minutes * 60 seconds/minute

The result will be a UNIX timestamp of the current time plus 30 minutes.

Upvotes: 11

Related Questions