2013-11-15 2 views
0

Я хочу отображать предупреждение в определенный промежуток времени с последними минутами, чтобы ждать в сообщении allert Я использую этот код, и он работает верно. но мне нужно пройти время, чтобы показать в сообщениипоказать allert в определенный интервал времени в php

сообщение должно быть шоу, если текущее время больше, чем 11:45 вечера или до 12:10 утра

$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 dont khow как использовать

$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 />"; 

спасибо.

ответ

1

Strtotime покажет вам время с количества секунд, прошедших с 1970-01-01 00:00:00. Таким образом, результат вычитания двух раз отображается как секунды. Вам нужно разделить это значение на 60, чтобы показать значение в минутах. Вы также можете прочитать немного больше на StrToTime в http://www.w3schools.com/php/func_date_strtotime.asp

Вы можете попробовать следующий код

$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 
} 
+0

Насколько я понял, вы получаете целую кучу цифр в $ elapse_time. Я ошибаюсь? –

0

Во-первых, вы можете разделить $ elapse_time на 60, на значение в секундах, и вам нужны минуты.

Во-вторых, я думаю, что abs ($ c_time- $ s_time) составляет 5 минут в 23:50, а не 20, что является вашим желаемым результатом. Попробуйте STH как

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

или даже лучше

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

показывает эти цифры --- текущее время: 1384514176 elapse: -1384514176 ($ elapse_time = $ e_time - $ c_time;) - thts, почему я спрашиваю вас о цифрах - спасибо за вашу помощь – user2995711

Смежные вопросы