Saeed1000
Saeed1000

Reputation: 15

show allert in specific time interval in php

I want to display alert in specific time interval with elapse minutes to wait in allert message i use this code and it works true . but i need elapse time to be shown in message

the message should be show if current time is more than 11:45pm or before 00:10 am

    $c_time = mktime();
    $s_time = strtotime('Today 11:45pm');
    $e_time = strtotime('Today 0:10am');
    if ($c_time > $s_time or $c_time < $e_time)
        $error  .= 'sorry plaese wait 30 minutes <br />';

I use this code but it shows numbers that i dont khow how to use

    $c_time = mktime();
    $s_time = strtotime('Today 11:45pm');
    $e_time = strtotime('Today 0:10am');
    $elapse_time = min (abs($c_time - $s_time) , abs($e_time - $c_time ));
    if ($c_time > $s_time or $c_time < $e_time)
        $error  .= "sorry plaese wait  , $elapse_time , minutes<br />";

thanks.

Upvotes: 0

Views: 149

Answers (2)

Alexander
Alexander

Reputation: 20224

First, you may want to divide $elapse_time by 60, for the value is in seconds, and you need minutes.

Second, I think abs($c_time-$s_time) is 5 minutes at 11:50pm, not 20, which is your desired result. Try sth like

$elapse_time = $e_time - $c_time;
if($elapse_time < 0) $elapse_time += 86400;
$elapse_time /= 60;

or even better

$elapse_time = $e_time - $c_time;
if($elapse_time < 0) $elapse_time = strtotime("Tomorrow 0:10 am") - $c_time;
$elapse_time /= 60;

Upvotes: 0

Ela Buwa
Ela Buwa

Reputation: 1704

Strtotime will show you the time since the number of seconds that passed since 1970-01-01 00:00:00. So the result of your subtracting the two times is shown as seconds. You need to divide that by 60 to show the value in minutes. You might also want to read a bit more on strtotime at http://www.w3schools.com/php/func_date_strtotime.asp

You could try the below code

$s_time = strtotime('Today 11:45pm');
$e_time = strtotime('Today 0:10am');

$elapse_time = ($s_time - $e_time) / 60;

if($elapse_time < 30){
   //bla bla bla
}

Upvotes: 1

Related Questions