views:

267

answers:

3

I would like to provide the ability for users to submit a datetime value, along with values representing additional days/hours, and then store the datetime that results from adding the two in a mysql database.

A: 

to add an interval (a day or several hours) to datetime, you can use the date_add function.

Marius
A: 

If you want to do it in PHP, this should help:

$datetime = '2010-02-11 12:00:00';

$days = '5';
$hours = '3';

$new_datetime = date('Y-m-d H:i:s', strtotime("+$days days $hours hours", strtotime($datetime)));

echo $new_datetime; # Will output '2010-02-16 15:00:00'
Tatu Ulmanen
A: 

If you want to do this in PHP, you can use mktime, adding the additional time / date values as you require:

$time = mktime($hours + $extra_hours, $minutes, $seconds, $months + $extra_months, $days, $years);
$date = date('Y-m-d H:i:s', $time);
Dan Ruscoe
What if $hours + $extra_hours adds up to more than 24 - does mktime deal with that correctly?
vincebowdren
Yes, it does. It will also handle rollover for the other parameters.
Dan Ruscoe