Question: I've been struggling with this for an hour or so and have come up blank. Basically I need to take the current time, add 30 minutes to it, and then round up to the next 15 minutes.

Examples:

* if it's now 20:00, result = 20:45
* if it's now 20:10, result = 20:45
* if it's now 20:16, result = 21:00
* if it's now 20:35, result = 21:15

My PHP is rusty and I've been getting mixed up with date add and round methods trying to get this to work and I know it's simple - have just run out of ideas!

Thanks

Answer: 
Something like this: convert to unix timestamp, add 30 \* 60, then divide by 15 \* 60, apply ceil(), then multiply by 15 \* 60, then convert back to date.
not the most ellegant solution but it should work (un tested)

```
$hoursAndMins = explode(":",timeString); // should be "HH:MM"
$hours = $hoursAndMins[0]+(($hoursAndMins[1]+30)/60);
$mins = ($hoursAndMins[1]+30)%60;

if ($mins > 52){
   $mins = "00";
   $hours += 1;

}else if ($mins > 38){
    $mins = "45";
}else if ($mins > 23){
    $mins = "30";
}else if( $mins > 7){
    $mins = "15";
}else{
    $mins = "00";
}
echo $hours+ ":"+$mins;

```

[edit] The other solution is much better i think but this one is more verbose