Reputation: 157
I have mysql timestamps named the following:
$end_time = $row['end_time'];
$paused_time = $row['paused_time'];
$current_time = date("Y-m-d H:i:s");
i need to get the difference between the current time and the paused time, then add that total to the end time.
Essentially what im trying to achieve is when an event is paused, it updates the $paused_time in the database, so when i resume again i need to add the time since it was paused to the end time which will increase it.
say i paused it 1 hour ago, the difference between $paused_time and $current_time is 1 hour, so $end_time will be $end_time + 1 hour which i will then update the database replacing the current end time.
Everything i try is such a mess and not really achieving my goal so i would appreciate how to go about doing this.
$datetime1 = new DateTime($paused_time);
$datetime2 = new DateTime($current_time);
$interval = $datetime1->diff($datetime2);
// add $interval to $end_time??
Many thanks and hope i explained it clear enough
Upvotes: 0
Views: 48
Reputation: 1
Can you try it with strtotime()? You will get milliseconds out of it and you can convert it back to any unit of time you wish.
$end_time = strtotime($row["end_time"]);
$paused_time = strtotime($row["paused_time"]);
$current_time = time();
$interval = $end_time - $paused_time;
$add_interval_to_end_time = $end_time + $interval;
Cheers Hanns
Upvotes: 0
Reputation: 1651
For example:
$end_time = "2019-07-07 14:09:07";
$paused_time = "2019-07-07 13:09:07";
$current_time = date("Y-m-d H:i:s");
$datetime1 = new DateTime($paused_time);
$datetime2 = new DateTime($current_time);
$datetime3 = new DateTime($end_time);
$interval = $datetime1->diff($datetime2);
$sumDateTime = $datetime3->add($interval);
Upvotes: 1